C++ 继承、多态、虚函数 2023-10-18 18:47 278阅读 0赞 #### 继承 #### C++支持多继承 class Parent { } class Parent2{ }; class Child : public Parent, private Parent2 { } ##### 公有继承和私有继承的区别 ##### public Parent:公有继承,private和public都会继承 private Parent:私有继承,只继承private的 #### 多态 #### ##### 静态多态和动态多态 ##### class Child : public Parent{ public: void test(){ cout << "Child.test" << endl; //Parent::test(); //调用父类的方法 } virtual void test2(){ cout << "Child.test2" << endl; } } 静态多态,编译的时候就会确定类型 Parent* child2 = new Child(); //静态多态,编译的时候就会确定类型,此处会确认为Parent类型 child2->test(); //打印的是Parent的test() 动态多态 方法名前加 virtual,打印的是Child的Test(); Parent* child3 = new Child(); //动态多态 方法名前加 virtual child3->test2(); //打印的是Child的Test(); #### 虚函数 #### ##### 纯虚函数 ##### 子类必须要实现这个函数 class Parent{ virtual void test3() = 0; } ##### 使用虚函数动态多态 ##### 具体看 \#(静态多态和动态多态) > 构造方法 永远不要设为虚函数 > 析构函数 一般声明为虚函数
还没有评论,来说两句吧...