C++ 结构体定义多个构造函数详解
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 定义了两个构造函数:
- 无参构造函数: 
Person(),用于初始化 name 和 age 成员变量为默认值。 - 有参构造函数: 
Person(string n, int a),用于根据传入的参数 n 和 a 来初始化 name 和 age 成员变量。 
在 main 函数中,我们分别使用这两个构造函数来创建了两个 Person 对象,并通过 print 方法输出了它们的信息。
注意事项
如果一个结构体定义了有参构造函数,但没有定义无参构造函数,那么就不能使用无参构造函数来创建该结构体的对象。
总结
本文详细介绍了 C++ 结构体定义多个构造函数的方法,并通过示例代码演示了无参构造函数和有参构造函数的使用。通过定义多个构造函数,我们可以根据不同的需求来初始化结构体对象,提高代码的可读性和灵活性。
原文地址: https://www.cveoy.top/t/topic/m2eA 著作权归作者所有。请勿转载和采集!