用c++重载构造函数实现对类实例对象的带参数初始化和无参数初始化
以下是一个示例代码:
#include <iostream>
using namespace std;
class MyClass {
private:
int value;
public:
MyClass() {
value = 0;
cout << "Default constructor called." << endl;
}
MyClass(int v) {
value = v;
cout << "Parameterized constructor called with value " << value << "." << endl;
}
int getValue() {
return value;
}
};
int main() {
MyClass obj1; // 调用默认构造函数
cout << "obj1 value: " << obj1.getValue() << endl;
MyClass obj2(5); // 调用带参数构造函数
cout << "obj2 value: " << obj2.getValue() << endl;
return 0;
}
输出:
Default constructor called.
obj1 value: 0
Parameterized constructor called with value 5.
obj2 value: 5
在这个示例中,我们定义了一个名为MyClass的类,其中包含了两个构造函数,一个是默认构造函数,一个是带参数构造函数。默认构造函数不接受任何参数,它将value成员变量初始化为0,并在控制台输出一条消息,表示它被调用了。带参数构造函数接受一个整数参数,它将value成员变量初始化为这个参数,并在控制台输出一条消息,表示它被调用了。
在main函数中,我们创建了两个MyClass的实例对象,一个是不带参数的,一个是带参数的。我们使用getValue函数来获取每个对象的value成员变量的值,并输出到控制台上。
在默认构造函数被调用时,我们将会看到一条消息Default constructor called.在控制台上输出。在带参数构造函数被调用时,我们将会看到一条形如Parameterized constructor called with value 5.的消息在控制台上输出,其中的数字5是我们传递给构造函数的参数。
这就是用c++重载构造函数,实现对类实例对象的带参数初始化和无参数初始化的示例
原文地址: https://www.cveoy.top/t/topic/gqyX 著作权归作者所有。请勿转载和采集!