C++ 继承、多态、虚函数

继承

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;
}
使用虚函数动态多态

具体看 #(静态多态和动态多态)

构造方法 永远不要设为虚函数
析构函数 一般声明为虚函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氦客

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值