- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章多态性与虚函数
第8章 多态性与虚函数 ;本章内容; 1. 多态性概述;从实现时机方面讲,多态性可以分为:
静态多态性
动态多态性
?静态多态性 : 指可在编译期间确定的多态性。
静态多态性: 函数重载
运算符重载
?动态多态性: 指在程序在运行过程中,才能确定的多
态性。;静态多态性:
1)函数重载:几个函数具有相同的名字,但函数参数
的个数或类型不同。
重载的函数可以是:
一般函数
类中的成员函数、构造函数;例题:构造函数重载:
#include iostream.h
class classA
{ public: classA( ){a1=0;a2=0;cout”default\n”; }
classA(int i,int j);
void print( ){ couta1”,”a2endl; }
~A( ) { cout”destructure\n”; }
private: int a1,a2;
};
classA::classA(int i,int j)
{ a1=i; a2=j; cout”constructure\n”; }
void main()
{ classA ob1,ob2(12,8);
ob1.print( );
ob2.print();
}
?;#include iostream.h
#include string.h
class string
{ public: string(char *pa);
void print( ) { coutpstrendl; }
void print(char *str) { coutstrendl; }
private: char *pstr;
};
string::string(char *pa)
{ pstr=new char[strlen(pa)+1]; strcpy(pstr, pa);
}
void main( )
{ string s1(“programming”);
s1.print( ); s1.print(“C++”);
};运算符重载: 将已有的运算符赋予新的含义。
不可重载的运算符
? “?” 圆点运算符
? “?*” 成员指针选择运算符
? “∷” 域分辨运算符
? “?:” 条件运算符
? “sizeof” 长度运算符
除以上五个运算符外,其余运算符均可重载?;重载运算符的规则:
?只能重载C++中已有的可重载的运算符,不能建立新的运算符;
?重载运算符时不能改变原运算符操作数的个数、原有运算符的优先级和结合性,也不能改变原运算符对于内部基本类型对象的含义;
?如果重载了某个运算符(如“=”),并不意味着重载了相关的运算符(如“+=”、“-=”等);
;运算符重载函数的实现:
可以利用: 成员运算符函数
友元运算符函数
学习时注意:不同的实现方法,参数的个数不同。
;用类的成员函数的格式如下:
class 类名 {
......
返回类型 operator 运算符(形参表);
......
};
;例:利用成员函数实现两个复数相加运算?;程序说明:
成员函数
complex operator+(const complex a)
用于定义“+”运算符重载
?复数类对象相加: c1+c2,
相当于 : c1.operator+ (c2);用类的友元函数的格式如下。
class 类名 {
......
friend 返回类型 operator运算符(形参表);
......
};
;
您可能关注的文档
最近下载
- 岛津原子吸收分光光度计AA-6300软件硬件基本操作AA-6300-rj手册说明书.pdf VIP
- The Magic of Ordinary Days《平凡岁月的魅力(2005)》完整中英文对照剧本.docx VIP
- 注册税务师备考课件.pptx VIP
- MECG1000心电图机培训.pptx VIP
- 国内外CO2催化转化技术发展现状与未来展望.docx VIP
- 道路运输企业双重预防机制建设资料(安全风险分级管控和隐患排查治理).pdf
- HG∕T 5421-2018 噻唑膦原药(可复制版).pdf
- 括号里最大能填几326题.pdf VIP
- 公司物业服务投标方案(技术方案).docx VIP
- 实验动物学学堂云学堂在线课后题答案.docx VIP
文档评论(0)