c++ 多态

c++ 多态

多态表现为一个函数在不同情况下可以变现出不同的形式。

如:

class Person {
	public void f() { print(i am person);}
}
class Male : Person {
	public void f() { print(i am male);}
}
class Female : Person {
	public void f() { print(i am female);}
}


male.f(); //结果就是 "i am male"
female.f(); //结果就是"i am female"

同一个函数在不同的类中显示出了不同的情况,这就是多态,具体来说是静态多态。这里的函数f是被override(重写)了。

对于多态还有动态多态,这种多态是知道程序被运行时才知道这个类调用的是什么函数。

class Person {// 抽象类
	public virtual void f() = 0;	//纯虚函数
}
class Male : Person {
	public void f() { print(i am male);}
}
class Female : Person {
	public void f() { print(i am female);}
}



Male * male = new Male;
Person * person = male;
person.f()

输出结果为i am male,此时对于c++来说Person必须为抽象类。这就体现了动态多态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值