【发布时间】:2015-09-01 19:37:55
【问题描述】:
我有一个主要的抽象类和 4 个子类,它们都继承自抽象类。 我想制作一个列表,其中一个元素可以是这 4 个类中的任何一个。
Test1.h
class Test {
public:
Test();
virtual void someFunc();
void getTest();
void setTest(int test);
protected:
int test;
};
Test2.h:
#include "Test.h"
class Test2 : public Test{
public:
Test2();
void someFunc();
int otherFunc();
};
还有Test3、Test4和Test5...
来源.cpp:
#include <iostream>
#include "Test1.h"
#include "Test2.h"
#include "Test3.h"
#include "Test4.h"
#include "Test5.h"
int main() {
list<Test> testList; //does not work
Test2 t = Test2();
Test3 t3 = Test3();
Test4 t4 = Test4();
testList.push_back(t);
testList.push_back(t4);
}
有没有办法制作一个可以包含所有这些元素的列表?
【问题讨论】:
-
您是否希望列表拥有对象(即您是否希望在删除列表时删除它们)?
标签: c++ visual-studio list inheritance