// File: test.cpp // Author: lxw // Date: 2015-08-11 #include <iostream> #include <string> #include <vector> #include <algorithm> #include <set> #include <climits> using namespace std; int number(){ cout << "hello" << endl; return 11; } class Demo{ private: int a = number(); //NOTE: [calls before constructor.] NOT ALWAYS call this. int b = number(); public: Demo(){ cout << "Constructor Demo()" << endl; } Demo(int A):a(A){ cout << "Constructor Demo(int A)" << endl; } int getA(){ return this->a; } int getB(){ return this->b; } }; int main(void){ /* //NOTE: NOT "hello Constructor Demo(int A)" but "Constructor Demo(int A)" Demo d(3); //Constructor Demo(int A) cout << d.getA() << endl; //3 cout << endl; Demo d1; //hello Constructor Demo() cout << d1.getA() << endl; //11 */ /* Output: Constructor Demo(int A) 3 hello Constructor Demo() 11 */ Demo d(3); //hello Constructor Demo(int A) cout << d.getA() << endl; //3 cout << d.getB() << endl; //11 cout << endl; Demo d1; //hello hello Constructor Demo() cout << d1.getA() << endl; //11 cout << d1.getB() << endl; //11 /* Output: hello Constructor Demo(int A) 3 11 hello hello Constructor Demo() 11 11 */ return 0; }