c++构造函数和拷贝构造函数
C++中的构造函数是在创建对象时自动调用的特殊成员函数,用于初始化对象的数据成员。构造函数的名称与类名称相同,没有返回类型,可以有参数。
拷贝构造函数是一种特殊的构造函数,用于创建一个新对象,并将已有对象的值复制给新对象。拷贝构造函数的名称为类名称后面加上一个参数,参数为同类对象的引用。
下面是一个示例代码,展示了如何定义和使用构造函数和拷贝构造函数:
#include<iostream>
using namespace std;
class MyClass {
private:
int data;
public:
// 构造函数
MyClass(int d) {
data = d;
}
// 拷贝构造函数
MyClass(const MyClass &obj) {
data = obj.data;
}
int getData() {
return data;
}
};
int main() {
// 使用构造函数创建对象
MyClass obj1(10);
cout << "obj1的数据:" << obj1.getData() << endl;
// 使用拷贝构造函数创建对象
MyClass obj2 = obj1;
cout << "obj2的数据:" << obj2.getData() << endl;
return 0;
}
输出结果为:
obj1的数据:10
obj2的数据:10
在上面的示例中,我们定义了一个MyClass类,它有一个整型数据成员data。我们使用构造函数在创建obj1对象时初始化data为10,然后使用getData()方法获取data的值并输出。
接着,我们使用拷贝构造函数创建了一个新的对象obj2,并将obj1的值复制给了obj2。然后再次使用getData()方法获取obj2的data值并输出。
需要注意的是,当对象作为参数传递给函数时,拷贝构造函数也会被调用
原文地址: https://www.cveoy.top/t/topic/i1ra 著作权归作者所有。请勿转载和采集!