C++基础—基础多态,虚函数

    xiaoxiao2023-11-20  171

    C++支持多继承, 通过 : 类名,  默认是私有的(只继承private),可以指定 Public (继承所有)

    class Child : public Parent,Parent1 {

    public:

        void test()

    }

    class Parent {

    public:

        void test() {

       }

       // 纯虚函数, 函数未实现,需要子类实现

       virtual void test1 = 1;

    }

    class Parent1 {

    public:

        void test() {

       }

    }

     

    // main 方法

    int main() {

        Child child;

        chile.test();   // test 方法是 Parent public 的,Child 需要 基础public的parent,

     

        Parent* child = new Child(); // 静态多态, 编译时确认为 Parent类型

        child->test(); // 调用的是 Parent 的test方法,与Java不同

     

        // 动态多态,需要使用虚函数, 通过 virtual 修饰函数

        // 通过virtual 修饰的函数,是真正的类型对象调用

        // 构造函数永远不要设置为虚函数,无法事例化子类对象

        // 析构方法需要声明为虚函数, 如果不是虚函数,子类的成员变量无法释放

    }

    最新回复(0)