假设我们有一个名为 Base 的类。在这个类中有一个向量和对这个向量进行操作的函数。我想根据向量的类型创建不同的派生类(一个继承类用于 int,另一个用于 char ......等)。对于不同的派生类,有些方法完全相同(int、char、bool...),而另一些则完全不同。这些方法需要访问向量元素。
考虑以下代码:
class Base {
public:
std::vector<int> vec;
virtual void Print() { std::cout << vec[0]; }
};
class Derived : public Base {
public:
std::vector<bool> vec;
};
int main() {
Base * test = new Derived;
test->vec.push_back(5);
test->Print();
system("PAUSE");
}
这会打印一个 int 而不是 boolean。