#include using namespace std; class TypeA{ public: TypeA()= delete; TypeA(int d) { data = d; } void SetData(int d) { data = d; } private: int data = 4; }; /* class TypeB{ public: TypeB() { noCanDo.SetData(99); } private: TypeA noCanDo; }; */ class TypeC{ public: TypeC(): canDo(99) { } private: TypeA canDo; }; class TypeE { public: TypeE(int d) { data = d; } int Data() const { return data; } private: int data; }; class TypeF { public: TypeF(int s=-99): sum(s), value(sum) { cout << " in constructor " << endl; cout << "sum = " << sum << endl; cout << "value.Data() = " << value.Data() << endl; return; } private: TypeE value; int sum; }; int main() { //TypeB a; TypeC b; TypeF x(10000); return 0; }