c++创建对象
1.声明一个对象,然后使用默认构造函数来创建对象:
class MyClass {
public:
MyClass() {
// 构造函数代码
}
};
int main() {
MyClass obj; // 声明并创建一个对象
return 0;
}
2.使用new和指针动态创建对象:不会自动释放
使用 new 运算符创建的对象不会在大括号结尾自动调用析构函数,因为使用
new 分配的内存是动态内存,需要显式地使用 delete 运算符释放内存。如果不释放分配的内存,就会出现内存泄漏的问题。
int main() {
MyClass* ptr = new MyClass(); // 动态分配一个对象
// ...
delete ptr; // 释放对象的内存空间
return 0;
}
3.通过拷贝构造函数创建对象:也就是一个特殊的构造函数
class MyClass {
public:
MyClass(const MyClass& other) {
// 拷贝构造函数代码
}
};
int main() {
MyClass obj1; // 创建一个对象
MyClass obj2(obj1); // 使用拷贝构造函数创建一个新的对象
return 0;
}
在这个例子中,我们声明了两个对象obj1和obj2。在创建obj2对象时,我们使用了拷贝构造函数来将obj1的值拷贝到obj2中。拷贝构造函数通常用于在函数参数中传递对象或将对象作为返回值返回时使用。