📅  最后修改于: 2023-12-03 14:59:36.733000             🧑  作者: Mango
在面向对象编程中,构造函数是一个特殊的函数,用于创建对象时初始化对象的成员变量。在C++中,每个类都可以有一个或多个构造函数,这些构造函数可以提供不同的初始值或参数。
问题14:如何在一个类中使用多个构造函数?
在一个类中可以定义多个构造函数,这些构造函数有不同的参数列表,可以用来提供不同的初始化选项。以下是一个示例代码:
#include <iostream>
using namespace std;
class Rectangle {
private:
int length;
int width;
public:
Rectangle() {
length = 0;
width = 0;
}
Rectangle(int l) {
length = l;
width = 0;
}
Rectangle(int l, int w) {
length = l;
width = w;
}
int getLength() { return length; }
int getWidth() { return width; }
int getArea() { return length * width; }
};
int main() {
Rectangle r1;
Rectangle r2(4);
Rectangle r3(2, 6);
cout << "Rectangle 1: " << r1.getLength() << "x" << r1.getWidth() << " = " << r1.getArea() << endl;
cout << "Rectangle 2: " << r2.getLength() << "x" << r2.getWidth() << " = " << r2.getArea() << endl;
cout << "Rectangle 3: " << r3.getLength() << "x" << r3.getWidth() << " = " << r3.getArea() << endl;
return 0;
}
在这个示例中,Rectangle类有三个构造函数:
在main函数中,我们分别用这三个构造函数创建了三个Rectangle对象,并调用了getLength,getWidth和getArea函数来获取它们的属性和面积。
输出结果为:
Rectangle 1: 0x0 = 0
Rectangle 2: 4x0 = 0
Rectangle 3: 2x6 = 12
从输出结果可以看出,我们可以使用不同的构造函数来创建Rectangle对象,并且每个对象都有不同的属性值。