Да, a structидентичен a, classза исключением уровня доступа по умолчанию (по элементам и по наследованию). (и дополнительный смысл classимеет при использовании с шаблоном)
Следовательно, каждая функциональность, поддерживаемая классом, поддерживается структурой. Вы бы использовали методы так же, как и для класса.
structfoo {int bar;
foo() : bar(3) {} //look, a constructorintgetBar(){
return bar;
}
};
foo f;
int y = f.getBar(); // y is 3
Ответы:
Да, a
struct
идентичен a,class
за исключением уровня доступа по умолчанию (по элементам и по наследованию). (и дополнительный смыслclass
имеет при использовании с шаблоном)Следовательно, каждая функциональность, поддерживаемая классом, поддерживается структурой. Вы бы использовали методы так же, как и для класса.
struct foo { int bar; foo() : bar(3) {} //look, a constructor int getBar() { return bar; } }; foo f; int y = f.getBar(); // y is 3
источник
Структуры могут иметь такие же функции, как классы. Единственная разница в том, что они по умолчанию общедоступны:
struct A { void f() {} };
Кроме того, структуры также могут иметь конструкторы и деструкторы.
struct A { A() : x(5) {} ~A() {} private: int x; };
источник