【发布时间】:2018-09-21 18:11:07
【问题描述】:
我有一个类,我想保存一个抽象类对象。
class myClass
{
abstractClass abstractObject; //won't work since abstractClass is abstract
// ....
}
其中abstractClass 是一个抽象基类。那么我可能有一个非抽象的derivedClass1 和derivedClass2,它们都继承自abstractClass。我想将这些派生类传递给myClass。如何使用右值来做到这一点?
我希望能够例如说
myClass someOBJ(derivedClass1(x, y, z));
myClass someOtherOBJ(derivedClass2(x,y,z));
然后这两个对象现在包含derivedClass1 和derivedClass2 类型的对象。
【问题讨论】:
-
有什么问题?您是否尝试编写 myClass 的构造函数来接受这些派生类的对象?
-
是的,但我不想在类外创建对象然后将它们传入。我想像右值一样同时创建它们。
-
你应该使用抽象类的指针。