标签:
构造函数用于在创建类对象时初始化该对象,若没有显式地在类中定义构造函数,那么编译器将自动生成默认构造函数。当类对象定义在全局作用域中时,类的内置和复合类型成员将对对象初始化;当类对象定义在局部作用域中时,类的内置和复合类型不进行初始化。
1 class MyClass 2 { 3 public: 4 MyClass():name("root"),age(0){} 5 MyClass(int &i):name("guest"),age(i){} 6 const string getname(){return name;} 7 const int getage(){return age;} 8 private: 9 string name; 10 int age; 11 }; 12 int main() 13 { 14 int age1=21; 15 MyClass mc0;//此时等同于MyClass mc=MyClass();即调用MyClass()初始化 16 MyClass mc1(age1);//等同于MyClass mc=MyClass(age1);此时调用MyClass(int&)初始化 17 cout<<mc0.getname().getage()<<endl;//将输出root0 18 cout<<mc1.getname().getage()<<endl;//将输出guest21 19 return 0; 20 }
标签:
原文地址:http://www.cnblogs.com/slgnesin/p/4389762.html