我有两个类,一个扩展另一个.他们都有一个叫做doSomething()执行不同的方法.我希望能够有一个我可以切换class A到的指针,class B并让其余的代码运行相同,因为它们每个都有相同的方法名称.这是可能的,这是正确的方法吗?另外,我对C++很陌生,所以它可能只是一个问题.
class A {
void doSomething()
{
// does something
}
};
class B: public A {
void doSomething()
{
//does something else
}
};
main()
{
A *ptr = new A;
B *bptr = new B;
// a giant loop
ptr->doSomething();
if(condition)
{
ptr = bptr;
}
}
Run Code Online (Sandbox Code Playgroud)