C++程序设计基础一周目第十天

1.虚函数

声明要在所有同名函数的最顶层,可以再派生类,但派生类上面的基类不能有该同名函数

虚函数必须是类的非静态成员函数,不能说明为全局函数

不能将友元说明为虚函数,但虚函数可以是另一个类的友元

析构函数可以是虚函数,但构造函数不能是虚函数

“作用已类体系的动态联编以来基类指针指向派生类对象,调用虚函数的不同版本”

重载虚函数要求函数名、返回类型、参数个数、参数类型和顺序完全相同

将基类析构函数说明为虚函数,则所有派生类的析构函数自动成为析构函数,即使他们名字和基类析构函数不同,作用是,当用基类指针指向派生类对象时,delete该对象时能调用派生类的析构函数,如果不用虚函数说明,就会只调用基类的析构函数

2.纯虚函数

virtual void a() = 0;

作用就是基类不用实现该函数的定义

3.explicit

修饰在构造函数前,作用是防止构造函数隐式转换其他类型为该类类型

4.抽象类,至少拥有一个纯虚函数的基类,可以拥有没有实现虚函数的派生类,该派生类还是抽象类

抽象类只能做其他类的基类,不能创建对象,能创建指针,抽象类不能用做参数类型、函数返回类型,能做引用

抽象类不能显示类型转换

5.异质链表

抽象类指针的数组或链表,指针可指向各种派生类型,动态异质链表,就是抽象类指针的链表

6.动态联编

通过基类指针调用派生类的虚函数,静态联编就是用对象名和点运算符来调用虚函数

7.模板,把函数或类要处理的数据参数化,表现为参数的多态性

函数模板的匹配顺序:

先寻找参数类型匹配的重载函数,没有再找模板实例化产生的函数,最后寻找通过类型转换进行参数匹配的重载函数

8.类模板

类属参数必须至少在类说明中出现一次


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值