编译时多态

1:什么是运算符重载:就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。


2:什么是多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

3:运算符重载的规则: C++中的运算符除了少数几个之外,全部可以重载,而且只能重载C++中已有的运算符。 
 重载之后运算符的优先级和结合性都不会改变。
 
 运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造。一般来说,重载的功能应当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义类型。
 

不能重载的运算符只有五个,它们是:成员运算符“.”、指针运算符“*”、作用域运算符::“sizeof”、条件运算符?: 

4:什么是插入运算符:C++的流插入运算符“<<”和流提取运算符“>>”是C++在类库中提供的,所有C++编译系统都在类库中提供输入流类istream和输出流类ostream。cin和cout分别是istream类和ostream类的对象。在类库提供的头文件中已经对“<<”和“>>”进行了重载,使之作为流插入运算符和流提取运算符,能用来输出和输入C++标准类型的数据。因此,凡是用“cout<<”和“cin>>”对标准类型数据进行输入输出的,都要用#include 把头文件包含到本程序文件中。

5:什么是重载:重载就是一个函数名对应着多个功能不一函数体,

6:重载函数为什么不能返回值来区分:    我个人的理解是:
                                                        以返回值来区分,会引入上下文关连

                                                        如果在调用时不指定返回值的类型,编译器将无法选择调用哪个函数

7:什么是重定义:定义是指派生类中的函数屏蔽了基类中相同名字的函数

  • 派生类中的函数与基类中函数的名字相同,但参数不同,不管有无virtual, 基类中的函数被覆盖

  • 派生类中的函数与基类中函数的名字相同,参数也相同,但无virtual关键字,基类中的函数被覆盖


8:多态有什么作用:多态技术允许将父类设置成和他的一个或更多的子对象相等。

9:为什么要引入抽象函数和纯虚函数:为了方便使用多态特性 

- 在很多情况下,基类本身生成对象是不合理的。 

10:多态的分类:

有两种类型的多态性:

  • 编译时的多态性。编译时的多态性是通过重载来实现的。
  • 运行时的多态性。运行时的多态性是通过虚成员实现的。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值