构造函数用于在创建类对象时初始化该对象,若没有显式地在类中定义构造函数,那么编译器将自动生成默认构造函数。当类对象定义在全局作用域中时,类的内置和复合类型成员将对对象初始化;当类对象定义在局部作用域中时,类的内置和复合类型不进行初始化。 class MyClass { public: MyClass():name("root"),age(0){} MyClass(int &i):name("guest"),age(i){} const string getname(){return name;} const int getage(){return age;} private: string name; int age; }; int main() { int age1=21; MyClass mc0;//此时等同于MyClass mc=MyClass();即调用MyClass()初始化 MyClass mc1(age1);//等同于MyClass mc=MyClass(age1);此时调用MyClass(int&)初始化 cout<<mc0.getname().getage()<<endl;//将输出root0 cout<<mc1.getname().getage()<<endl;//将输出guest21 return 0; }