/** * Assignment v/s Initialization in constructor * Example 4 */ #include <iostream> using namespace std; class Inner { private: int a; int b; public: Inner(int avalue, int bvalue ) { //assigning to a and b this->a = avalue; this->b = bvalue; cout << "In Inner class ctor with params" << "\ta: " << avalue << "\tb: " << bvalue << endl; } Inner(void) { cout << "In Inner class ctor w/o params" << endl; } virtual char * Id (void ) { return "Inner"; } }; class Container { private: Inner foo; public: Container(int avalue, int bvalue) :foo( avalue, bvalue ) { cout << "In Container class ctor" << endl; } virtual char * Id ( void ) { return "Container"; } }; int main( int argc, char *argv[]) { Container bar(42, 24); cout << bar.Id() << endl; }