繁体   English   中英

c++:将父 class 转换为子类并调用子类的 function

[英]c++: casting a parent class to a subclass and calling a subclass's function

我有一个名为 A 的父 class 和一个名为 B 的子类。
B 有方法 printB();

为什么我可以 c 样式将 A 指针转换为 B 指针并访问方法 printB()? 即使 A 没有 printB() 函数?

class A {
    
};

class B: public A {
    public:
    void printB() {
        std::cout<<"testB"<<std::endl;
    }
};

int main()
{
    A a; 
    A* aPtr; 
    B b; 
    B* bPtr;
    
    aPtr = &a;
    ((B*)aPtr)->printB();
    
    return 0;
}

主要印刷品:testB

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM