使用C ++实现类的所有不同方法是什么?

时间:2018-04-02 12:36:05

标签: c++

我刚刚开始使用C ++,首先完成了一些Java和大量的Python。在这两种语言中,只有一种方法可以创建类型为MyClass的新变量,在Java中为MyClass obj = new MyClass(),在Python中为obj = MyClass()

在C ++中,我在示例代码中看到了各种不同的语法,例如:

MyClass* obj = new Myclass();
MyClass obj();
MyClass obj = MyClass();
MyClass obj;

在哪里可以获得在C ++中实例化类的所有不同方法的详尽列表,以及它们之间的区别?如果我使用的术语不对,通过“实例化”,我的意思是获取一个变量名称,可以使用点或箭头表示法调用方法。

1 个答案:

答案 0 :(得分:1)

MyClass obj();实际上是函数obj的声明,它返回MyClass个对象。

MyClass* obj = new Myclass();在堆上创建MyClass对象,您应该稍后释放此内存。

MyClass obj;通过默认构造函数创建MyClass对象。

MyClass obj = MyClass();通过copy constrctor创建MyClass对象。

您还可以使用MyClass obj{};创建零初始化MyClass对象,或者调用初始化列表构造函数(如果有)。