Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您能否实例化一个类,然后使用new(例如class1 name=newclass2)为其分配一个不同的类 我在教程的第二节中看了一个关于YouTube(-YouTube)上的“->”操作符的C++教程。他写了密码 int main() {ScopedPtr entity = new Entity();}_C++_Class_Visual C++_New Operator - Fatal编程技术网

您能否实例化一个类,然后使用new(例如class1 name=newclass2)为其分配一个不同的类 我在教程的第二节中看了一个关于YouTube(-YouTube)上的“->”操作符的C++教程。他写了密码 int main() {ScopedPtr entity = new Entity();}

您能否实例化一个类,然后使用new(例如class1 name=newclass2)为其分配一个不同的类 我在教程的第二节中看了一个关于YouTube(-YouTube)上的“->”操作符的C++教程。他写了密码 int main() {ScopedPtr entity = new Entity();},c++,class,visual-c++,new-operator,C++,Class,Visual C++,New Operator,根据我对实例化类的理解,new关键字后面的类应该与您正在实例化的类相同。请解释它是如何工作的以及为什么工作的 我是一个初学者,我没有从Cherno YouTube频道学习C++的指导书或任何东西。每当我不理解某些东西时,我就在互联网上搜索并进入网站是的,例如,当您创建指向类实现的指针时,可能会发生这种情况,ScopedPtr是指向实体实现的指针 你可以有一些文档或 #包括 类实体 { 公众: 实体(){} //仅用于测试 作废打印() { std::cout print(); } 私人: 实体*

根据我对实例化类的理解,new关键字后面的类应该与您正在实例化的类相同。请解释它是如何工作的以及为什么工作的


我是一个初学者,我没有从Cherno YouTube频道学习C++的指导书或任何东西。每当我不理解某些东西时,我就在互联网上搜索并进入网站

是的,例如,当您创建指向类实现的指针时,可能会发生这种情况,
ScopedPtr
是指向
实体
实现的指针

你可以有一些文档或

#包括
类实体
{
公众:
实体(){}
//仅用于测试
作废打印()
{
std::cout print();
}
私人:
实体*implem;
};
int main()
{
ScopedPtr实体=新实体();
entity.print();
}

如果
ScopedPtr
实体
的基类,那么
实体*
可以隐式转换为
ScopedPtr*
。请记住,
ScopedPtr
还需要一个
virtual
析构函数,否则
new
的使用不能与
delete
匹配(即
delete entity
)将导致未定义的行为。
ScopePtr
基于名称,是一个类似指针的对象。它可能有一个构造函数,该构造函数需要一个
实体*
参数来指示它应该指向哪个对象。这个例子是一个初始化,它基本上等同于
ScopedPtr entity=ScopePtr(new entity())
范围DPTR实体(新实体())
ScopePtr entity=new entity()
可能工作正常。该名称表明它将是一个类似指针的类型。它可能执行类似于
std::unique\u ptr entity=new entity的操作或至少初始化应该以相同的方式工作。我想你误解了这个问题。当然,我的错。我读得很快,但你是对的。它可能是一个指针:)。谢谢你纠正我