您能否实例化一个类,然后使用new(例如class1 name=newclass2)为其分配一个不同的类 我在教程的第二节中看了一个关于YouTube(-YouTube)上的“->”操作符的C++教程。他写了密码 int main() {ScopedPtr entity = new Entity();}
根据我对实例化类的理解,new关键字后面的类应该与您正在实例化的类相同。请解释它是如何工作的以及为什么工作的您能否实例化一个类,然后使用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(); } 私人: 实体*
我是一个初学者,我没有从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的操作代码>或至少初始化应该以相同的方式工作。我想你误解了这个问题。当然,我的错。我读得很快,但你是对的。它可能是一个指针:)。谢谢你纠正我