小编Pau*_*aul的帖子

在C++中在运行时在用户定义的类之间进行更改

我有两个类,一个扩展另一个.他们都有一个叫做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)

c++ pointers casting user-defined-types

1
推荐指数
1
解决办法
187
查看次数

标签 统计

c++ ×1

casting ×1

pointers ×1

user-defined-types ×1