Я хочу определить новый тип данных на основе моих потребностей, и когда я обновляю переменную, я хочу, чтобы другие переменные обновлялись без вызова новой функции.
Учти это:
struct myNode {
short rows;
short cols;
short channels;
Mat data;
};
Представь, я обновляю Mat data
, я хочу rows,cols and channels
обновляться автоматически. Я могу написать другой метод для обновления, но нет необходимости вызывать новый метод каждый раз, когда я обновляю data
,
Я не мог ничего найти об этом. Как я могу это сделать?
Как вы используете c++
ты можешь использовать setter
функция data
и обновить data
через сеттер function
,
Пример кода может выглядеть
struct myNode{
short rows;
short cols;
short channels;
Mat data;
void setData(const Mat& d)
{
//set Rows, cols, channels according to your wish.
this->data = d;
}
};
Лучшее решение с class
class myNode{
short rows;
short cols;
short channels;
Mat data;
public:
void setData(const Mat& d)
{
//set Rows, cols, channels according to your wish.
this->data = d;
}
Mat getData()
{
return this->data;
}
};
На самом деле в c++
class
а также struct
эквивалентны кроме struct
есть открытые члены по умолчанию и классы имеют закрытые члены по умолчанию.
Других решений пока нет …