C++ [ 多态 ]
来源:互联网 发布:运动保温杯 知乎 编辑:程序博客网 时间:2024/06/16 17:25
多态是指同样的消息被不同类型的对象接收导致不同的行为,消息是对类的成员函数的调用,不同的行为是指不同的实现
运算符重载:对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为
函数类型 operator 运算符( 形参表 ) { 函数体 } 【 函数参数比原来操作数个数少一个 】
complex operator + ( complex c2 )
也可以 friend 函数类型 operator 运算符( 形参表 ) { 函数体 } 【 参数个数与原操作数个数相同 】
双目运算符
单目运算符
Clock& operator ++() 前置弹幕运算符
{
......; return *this;
}
Clock operator ++( int ) 后置单目运算符
{
Clock old = *this; ++(*this); return old;
}
虚函数
动态绑定的基础,必须是非静态的成员函数,经过派生后,在类族中就可以实现运行过程中的多态
虚函数声明只能出现在类声明中的函数原型声明中,而不能在成员函数实现的时候
运行中多态3个条件:满足类型兼容规则,声明虚函数,由成员函数来调用或者通过指针、引用来访问虚函数
virtual 函数类型 函数名 (形参表){
函数体
}
B0::display B1::display B2::display
基类构造函数调用虚函数时,不会调用派生类的虚函数;被析构时,对象也不是一个派生类对象了,只调用Base::virt()
需要声明 需析构函数,子类调用析构函数,防止内存泄漏
virtual ~类名()
纯虚函数
virtual 函数类型 函数名( 参数表 ) =0;
基类中不能给出函数的实现部分,函数体由派生类给出。
只说明函数原型用来规定整个类族的统一接口形式,而在派生类中再给出函数的具体实现
抽象类
为一个类族建立一个公共的接口,不能实例化,可以声明一个抽象类的指针和引用
带有纯虚函数的类
- [C/C++]多态
- C++--多态
- C++-----------------多态
- C 多态
- c++-->多态
- 【C++】多态
- 【C#】 多态
- 【C#】多态
- 【c++】多态
- 多态(C++)
- 【C++】多态
- <c++>多态
- C++--多态
- Objective-c 多态
- Objective-C多态
- Objective-C多态(二)
- Objective-C 多态
- C++ 多态
- Linux的cron和crontab定时任务
- 数据库免费视频下载地址汇总
- JSTL(JSP标准标签库)介绍
- Sybase中java.sql.DataTruncation: Data truncation 错误
- 获得window句柄
- C++ [ 多态 ]
- android异常处理
- poj/pku 1904(强连通分量解决匹配问题)
- JavaScript N种闭包演示
- JS正则表达式常用用法
- 登陆oracle
- ASP.NET MVC Authorize - 自定义Authorize的实现
- Write operations are not allowed in read-only tomcat报错
- mysql/oracle多字段去重方法