【发布时间】:2010-04-04 03:12:38
【问题描述】:
您好,我是 C++ 初学者,刚刚遇到一个不知道如何解决的问题
我有两个类,这是头文件:
class A
{
public:
int i;
A(int a);
};
class B: public A
{
public:
string str;
B(int a, string b);
};
然后我想在 main 中创建一个存储类 A 或类 B 的向量
vector<A*> vec;
A objectOne(1);
B objectTwo(2, "hi");
vec.push_back(&objectOne);
vec.push_back(&objectTwo);
cout << vec.at(1)->i; //this is fine
cout << vec.at(1)->str; //ERROR here
我真的很困惑,我检查了网站和东西,但我不知道如何解决它,请帮助
提前致谢
【问题讨论】:
标签: c++ inheritance pointers vector