programmeur aihser
クラスと構造体の違い
最終更新:
匿名ユーザー
-
view
クラスと構造体の違い
結論:構造体もクラスも、アクセス制限のデフォルト値が異なる程度の違いしかない。
初期化について:
構造体でもクラスでも、コンストラクタを持つと、簡易な初期化ができなくなる。
構造体でもクラスでも、コンストラクタを持つと、簡易な初期化ができなくなる。
#define STRUCT_HAS_CONSTRUCTOR #define CLASS_HAS_CONSTRUCTOR struct S { int x; int y; #ifdef STRUCT_HAS_CONSTRUCTOR S(void) : x(110), y(20) { } #endif }; class C { public: int x; int y; #ifdef CLASS_HAS_CONSTRUCTOR public: C(void) : x(30), y(40) { } #endif }; int main() { #ifdef STRUCT_HAS_CONSTRUCTOR S s; #else S s = {1, 2}; #endif #ifdef CLASS_HAS_CONSTRUCTOR C c; #else C c = {3, 4}; #endif return 0; }