以下是一个示例代码:

#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++重载构造函数,实现对类实例对象的带参数初始化和无参数初始化的示例

用c++重载构造函数实现对类实例对象的带参数初始化和无参数初始化

原文地址: https://www.cveoy.top/t/topic/gqyX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录