C++类的成员函数能不能调用构造函数

来源:百度知道 编辑:UC知道 时间:2024/09/23 07:10:04
需要在类的成员函数中产生该类的另一个实例,能不能在这个成员函数中调用构造函数?

二楼的说法不正确,在一个类中可以生成自己的实例。

使用 new 关键字会分配内存并调用构造函数。如:

class CMyClass
{
public:
CMyClass(int value)
{
}

public:
// 这里的 int value 只作为向构造函数传递参数的示例
// 实际使用时可以改为默认构造函数或其他构造函数
status CMyClass* CreateInstance(int value)
{
return new CMyClass(value);
}
};

可以通过new运算符调用,如果直接调用构造函数,会直接构造这个对象

可以这么做,程序结构和可读性会更好:
class a

{
a(){fun1();}

void fun1(){};
void fun2(){fun1();……}
}

在一个类中,不能生成自己的一个实例,但可以用别个类的实例