- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
咕噜的C++面向对象考试复习面向对象的基本特征封装:private、protected、public。Private:除了该类型的创建者和类的内部成员函数之外,任何人都不能访问。Protected:与private基本相似(除了该类型的创建者和类的内部成员函数之外,任何人都不能访问),但继承的结构可以访问protected成员。Public:在其后声明的所有成员可以被所有人访问。在类的外部访问private成员变量的方法:例:#includeiostreamusingnamespacestd;class A{private:inti;public:intget_i(){returni;}};int main (void){A a;cout a.get_i() endl;return 0;}优点:能使程序更安全,使外部不能随意访问和修改private成员。继承继承有三种方式:public(共有继承)、private(私有继承)、protected(保护继承)。public(共有继承):子类可以访问除了父类私有成员在内的所有成员。private(私有继承):子类不能访问父类的任何成员。protected(保护继承):继承的类可以访问protected的成员,但不能访问private的成员。例:#include iostreamusing namespace std;class a{private:inti;public:int j;};class b : public a{};int main (void){b x;x.j=0; //当b public继承a的时候,x可以访问a中的j,但不能访问a中的i。 //如果b private继承a,则x不能访问a中的i和j。cout x.j endl;return 0;}类的继承中成员函数的重定义和重载有什么联系和区别?重载 (overload):指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。重定义 (redefining):子类重新定义父类中有相同名称的非虚函数 ( 参数列表可以不同 ) 。例:#includeiostreamusingnamespacestd;class bass{public:void f (int n)//这两个f函数是重载。{cout f(int) endl;}void f (string c){cout f(string) endl;}};class derive : public bass{public:void f (inta,int b) //这个函数是重定义。{cout derive f(intint) endl;}};int main (void){bass b;b.f(1);b.f(a);derive d;d.f(1,1);return 0;}虚函数虚函数的实现原理:编译器对每个包含虚函数的类创建一个虚函数表。在虚函数表中,编译器放置特定类的虚函数地址。在每个带有虚函数的类中,编译器秘密地放置一指针,称为v p o i n t e r(缩写为V P T R),指向这个对象的虚函数表。通过基类指针做虚函数调用时(也就是做多态调用时),编译器静态地插入取得这个V P T R,并在V TA B L E表中查找函数地址的代码,这样就能调用正确的函数使晚捆绑发生。编写程序,利用指针实现虚函数的访问。#includeiostreamusingnamespacestd;class A{public:virtualvoid f (){cout A f endl;}};class B : public A{public:virtualvoid f (){cout B f endl;}};class C : public A{public:virtualvoid f (){cout C f endl;}};void play (A x){x.f();}int main (void){A a;B b;C c;play (a);play (b);play (c);return 0;}运算符过载(复数)#includeiostreamusingnamespacestd;class complex{private:float r;floati;public:void out (void){cout r i endl;}complex (floata,float b){r=a;i=b;}//过载+运算符complexoperator + (complex c) {complextc (r,i);tc.r += c.r;tc.i += c.i;returntc;}//过载++(+
您可能关注的文档
最近下载
- 强迫障碍的相关护理.docx VIP
- 高标准基本农田项目中测绘的重难点及应对策略.pdf VIP
- 经典规范的股权代持协议.docx VIP
- 铜转炉渣湿法回钴.doc VIP
- 2025年教师科学考试试题及答案.doc
- 中国茶文化PPT课件教学.pptx VIP
- ASHRAE-TC9.9-2016数据中心功率设备热管理手册及实践Data Center Power Equipment Thermal Guidelines and Best Practices.pdf
- 手术室护理查房.ppt VIP
- (统编2026新教材)三年级道法上册第4课《科技力量大》课件.pptx
- IT运维综合管理平台建设方案.doc VIP
文档评论(0)