是不是
A a = new A(); // A is a class name
Run Code Online (Sandbox Code Playgroud)
应该在C++中工作?
我正进入(状态:
请求从'A*'转换为非标量类型'A'
这行代码有什么问题?
这适用于Java,对吗?
另外,A在C++中创建类型的新对象的正确方法是什么呢?
小智 10
不,不是.新操作返回指向新创建的对象的指针,因此您需要:
A * a = new A();
Run Code Online (Sandbox Code Playgroud)
您还需要在代码中的其他位置管理对象的删除:
delete a;
Run Code Online (Sandbox Code Playgroud)
但是,与Java不同,通常不需要在C++中动态创建对象,并且只要有可能,您应该避免这样做.而不是上述,你可以简单地说:
A a;
Run Code Online (Sandbox Code Playgroud)
并且编译器将为您管理对象生存期.
这是非常基本的东西.您使用哪种C++教科书并不涵盖它?
| 归档时间: |
|
| 查看次数: |
4601 次 |
| 最近记录: |