class human { public: human(string name = "小明")//先调用:父类默认构造调用一个print打印name :_name(name) { cout << name << endl; } protected: string _name; };
时间: 2024-04-18 11:34:08 浏览: 15
这是一个名为 `human` 的类,它具有一个名为 `name` 的私有成员变量和一个默认构造函数。在构造函数中,会先调用父类的默认构造函数,然后通过初始化列表将 `name` 成员变量设置为传入的参数 `name` 的值。最后,会打印出 `name` 的值。默认情况下,构造函数会将 `name` 设置为 "小明"。
相关问题
class human { public: human(string name = "小明") :_name(name) { cout << name << endl; } protected: string _name; };
这是一个名为 `human` 的类,它具有一个名为 `name` 的私有成员变量和一个默认构造函数。在构造函数中,会先调用父类的默认构造函数,然后通过初始化列表将 `name` 成员变量设置为传入的参数 `name` 的值。最后,会打印出 `name` 的值。默认情况下,构造函数会将 `name` 设置为 "小明"。
class human { public: string name = "小明"; int age = 18; };为什么没用构造函数复制
在这个例子中,类human中并没有定义构造函数。如果一个类没有定义构造函数,编译器会默认生成一个无参构造函数(也叫默认构造函数),用来创建该类的对象。当我们创建human类型的对象时,编译器会自动调用该类的默认构造函数,从而初始化类的数据成员name和age的默认值。因此,在这个例子中,类human的对象可以直接使用默认构造函数进行初始化,而不需要显式地定义构造函数。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)