具有缺省参数的构造函数
时间: 2023-10-21 11:05:43 浏览: 70
可以简单地理解为在创建对象时不需要传入任何参数,而是使用在类定义时已经定义好的默认值。在C++中,可以通过在函数声明时使用"="号来指定缺省参数,例如:
```c++
class Example {
public:
int age;
Example(int a = 18) {
age = a;
}
};
int main() {
Example e1; //不传任何参数,age默认为18
Example e2(20); //传入参数20,age为20
}
```
相关问题
缺省的构造函数
缺省的构造函数是指在定义一个类时,如果没有定义任何构造函数,编译器会自动生成一个默认的构造函数。这个默认的构造函数没有任何参数,也没有任何操作,只是简单地创建一个对象并将其初始化为默认状态。
例如,在下面的代码中,类A没有定义任何构造函数,因此编译器会自动生成一个缺省的构造函数。
```
class A {
int x;
double y;
char z;
};
int main() {
A obj; // 调用缺省的构造函数
return 0;
}
```
在上面的代码中,对象`obj`会自动调用缺省的构造函数,将`x`初始化为0,`y`初始化为0.0,`z`初始化为空字符。
缺省构造函数
缺省构造函数是指一个没有参数的构造函数,也叫默认构造函数。当我们定义一个类时,如果没有显式地定义构造函数,编译器会自动生成一个缺省构造函数。缺省构造函数没有参数,也没有函数体,它的作用是用来初始化对象的成员变量。
例如:
```c++
class Person{
public:
Person(); // 缺省构造函数
private:
string name;
int age;
};
Person::Person(){
name = "";
age = 0;
}
```
在上面的例子中,我们定义了一个名为Person的类,并在其中定义了一个缺省构造函数。当我们创建Person对象时,缺省构造函数会被调用,并初始化对象的成员变量name和age。如果我们没有定义这个缺省构造函数,编译器会自动生成一个空的缺省构造函数。
相关推荐
![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)