- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]面向对象程序设计方法
8.2.3 运算符重载示例(续) A A::operator=(A p) { X=p.X; Y=p.Y; coutAssignment operator called.\n ; return *this; } void main() { A a1(72,81); A a2; a2=a1; couta2.GetX(),a2.GetY()endl; int b=9; couta1.GetX()+b,a1.GetY()-bendl; } 输 出 Assignment operator called. 72,81 81,72 8.2.3 运算符重载示例(续) 例8.5:++运算符。 #include iostream.h class counter { public: counter() {value=0;} counter operator ++(); counter operator ++(int); void display() {coutvalueendl;} private: int value; }; 前缀运算符 后缀运算符 8.2.3 运算符重载示例(续) counter counter::operator ++() { value++; return *this; } counter counter::operator ++(int i) { counter t; t.value=value++; return t; } 后缀运算符变量值加1,表达式值不变 前缀运算符变量值与表达式值均加1 8.2.3 运算符重载示例(续) void main() { counter c,d; d=++c; d.display(); d=c++; d.display(); } 输 出 1 1 c.operator ++(); c.operator ++(0); 8.2.3 运算符重载示例(续) 例8.6:下标运算符。 #include iostream.h class vector { public: vector(int size) {v=new int[size];} ~vector() {delete[] v;} int operator [](int i); private: int *v; }; int vector::operator [](int i) { return v[i]; } 7.4.1 虚基类的引入和说明(续) class B:virtual public A { protected: int b; }; 虚基类 虚基类 class C:virtual public A { protected: int c; }; class A { public: void f(); protected: int a; }; 7.4.1 虚基类的引入和说明(续) class D:public B,public C { public: int g(); private: int d; }; 下列各语句是否正确? D d; d.f(); void D::g() { f(); } d.f() 正确 能够唯一确定调用类A的f(); B D.g() C A.f() 7.4.1 虚基类的引入和说明(续) 虚基类 非虚基类 B C A D B C D A A 虚基类与非虚基类的存储结构 7.4.2 虚基类及其派生类的构造函数 派生类中只有一个虚基类子对象; 虚基类构造函数必须只被调用一次,目的是要保证虚基类子对象只被初始化一次; 7.4.2 虚基类及其派生类的构造函数(续) 虚基类子对象由最远派生类的构造函数通过调用虚基类的构造函数进行初始化; 在一个成员初始化列表中出现对虚基类和对非虚基类构造函数的调用时,虚基类的构造函数先于非虚基类的构造函数的执行; 最远派生类的构造函数的成员初始化列表中必须给出对虚基类的构造函数的调用;如果未列出,则相应的虚基类必须有缺省构造函数; 最远派生类:继承结构中建立对象时所指定的类 7.4.2 虚基类及其派生类的构造函数(续) 若定义E e;则E是最远派生类; 若定义D d;则D是最远派生类; 若定义B b;则B是最远派生类; 若定义C c;则C是最远派生类; 最远派生类 B D C A E B(…):A(…) ... C(…):A(…) ... D(…):B(...),C(…),A(…) ... E(…)
您可能关注的文档
最近下载
- 贵州省2024年高职(专科)分类考试招生中职毕业生文化综合考试数学.docx VIP
- HP DeskJet 2700 多功能一体打印机中文说明书.pdf
- (完整版)2025年全国自考《马克思主义基本原理概论》真题及答案汇总.docx VIP
- 欧科PT300变频器说明书.pdf
- 全版《边城》ppt课件.pptx VIP
- 2-5《无常》(思维导图) 统编版七年级语文上册大单元教学.docx VIP
- 2025年辅警招聘考试试题库及答案详解(各地真题).docx
- 在泥沙中崛起三门峡(连载3).doc VIP
- 高龄患者的麻醉要点.ppt VIP
- 天安人寿附加吉祥树终身重大疾病保险条款0101.docx VIP
文档评论(0)