我有以下问题。我正忙着用 C++ 编写一个继承结构。简而言之,这就是我正在尝试做的事情。A类是基类,B类和C类是继承类。类 B 和 C 各有不同且唯一的成员函数。
现在,使用 boost 智能指针库,我制作了一个类类型 A 的共享指针向量,如下所示:
class A{
A();
virtual print();
}
class B : public A{
B();
virtual print();
}
class C{
C();
virtual print();
void uniqueFunc();
}
int main(){
vector<shared_ptr<A> > myA;
shared_ptr<B> myB;
shared_ptr<C> myC;
myA.push_back(myB);
myA.push_back(myC);
}
现在我有了一种检查向量中成员类型的方法。这不是问题。我的问题是,如何在向量中为类类型 C 的成员调用 uniqueFunc。我必须沮丧吗?还是我必须创建虚拟功能。但是,我确实需要 uniqueFunc 对类 C 是唯一的。我想避免创建成员的副本,而是直接更改向量中的成员。