C++结构体定义多个构造函数
C++结构体可以定义多个构造函数,每个构造函数可以有不同的参数列表和实现方式。以下是一个例子:
#include <iostream>
using namespace std;
struct Person{
string name;
int age;
Person(){
name = "";
age = 0;
}
Person(string n, int a){
name = n;
age = a;
}
void print(){
cout << "Name: " << name << ", Age: " << age << endl;
}
};
int main(){
Person p1;
p1.print();
Person p2("Tom", 20);
p2.print();
return 0;
}
上述例子中,结构体Person定义了两个构造函数:一个无参构造函数和一个有参构造函数。无参构造函数初始化name和age成员变量为默认值,而有参构造函数则根据传入的参数来初始化。在main函数中,我们分别使用这两个构造函数来创建了两个Person对象,并通过print方法输出了它们的信息。
需要注意的是,如果一个结构体定义了有参构造函数,但没有定义无参构造函数,那么就不能使用无参构造函数来创建该结构体的对象。
原文地址: https://www.cveoy.top/t/topic/bygJ 著作权归作者所有。请勿转载和采集!