- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
complex complex::operator +(complex c2) //重载函数实现 { complex c; c.real=c2.real+real; c.imag=c2.imag+imag; return complex(c.real,c.imag); } * complex complex::operator -(complex c2) //重载函数实现 { complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return complex(c.real,c.imag); } * int main() //主函数 { complex c1(5,4),c2(2,10),c3; //声明复数类的对象 coutc1=; c1.display(); coutc2=; c2.display(); c3=c1-c2; //使用重载运算符完成复数减法 coutc3=c1-c2=; c3.display(); c3=c1+c2; //使用重载运算符完成复数加法 coutc3=c1+c2=; c3.display(); } * 程序输出的结果为: c1=(5,4) c2=(2,10) c3=c1-c2=(3,-6) c3=c1+c2=(7,14) * 继承中的一个问题 长方形的面积:Area=W*H; 正方形的面积:Area=L*L; 正方形从长方形继承而来,显然就有了两个同名但操作并不相同的求面积的成员函数,当计算正方形面积时,怎么样才能准确调用正方形派生类中的函数呢? 长方形 rectangle 正方形 square 继承 #includeiostream class Point { public: Point(double i, double j) {x=i; y=j;} double Area() const{ return 0.0;} private: double x, y; }; class Rectangle:public Point { public: Rectangle(double i, double j, double k, double l); double Area() const {return w*h;} private: double w,h; }; Rectangle::Rectangle(double i, double j, double k, double l) :Point(i,j) { w=k; h=l; } void fun(Point s) // s用到了引用 { coutArea=s.Area()endl; } int main() { Rectangle rec(3.0, 5.2, 15.0, 25.0); fun(rec); } 运行结果: Area=0 虚函数 虚函数(Virtual):若某类中的一个成员函数被说明为虚函数,就意味着成员函数在派生类中可能存在着不同的实现 在类的声明中,在函数原型之前写virtual Virtual 函数类型 函数名(形参表) { 函数体 } virtual 只用来说明类声明中的原型,不能用在函数实现时。 虚函数 具有继承性,基类中声明了虚函数,派生类中无论是否说明,同原型函数都自动为虚函数。 本质:不是重载声明而是覆盖。 调用方式:通过基类指针或引用,执行时会根据指针指向的对象的类,决定调用哪个函数 #includeiostream class Point { public: Point(double i, double j) {x=i; y=j;} virtual double Area() const{ return 0.0;} // virtual:虚函数 private: double x, y; }; class Rectangle:public Point { public: Rectangle(double i, double j, double k, double l); virtual double Area() const {return w*h;} // virtual:虚函数 private: double w,h; };//其他函数同上例 void fun(Point s) { coutArea=s.Area()endl; } int main() { Rectangle rec(3.0, 5.2, 15.0, 25.0); fun(rec); } 运行结果: Area=375 int max(int
您可能关注的文档
- (北京版)五年级语文上册稿件颐和园教材稿件.ppt
- (鲁教版)五年级语文下册稿件伯牙绝弦教材.ppt
- (人教新课标)三年级语文上册稿件秋天的雨(二)教材.ppt
- (西师大版)三年级语文上册稿件可爱的大熊猫教材.ppt
- (浙教版)三年级品德与社会下册稿件长江长城,黄山黄河教程.ppt
- (浙教版)三年级品德与社会下册稿件长江长城,黄山黄河文件材料.ppt
- “宝宝安康”教材教学稿件.ppt
- “你我参与防艾防结核”班会活动教材.ppt
- “三基”训练检验分册教材.pptx
- 《visualbasic程序设计与实训教程》第二章visualbasic概述教材.ppt
- 2024-2025学年天津市滨海新区大港油田第三中学高二下学期第二次阶段性考试数学试卷(含答案).docx
- 高三数学专题复习第一部分专题六第二讲.pptx
- 团结主题班会PPT课件小学生必威体育精装版完整版本.pptx
- 文稿运动单位ptbunit 5 purchasing.pdf
- 汇丰贵金属交易市场.pptx
- 数字蜂窝移动通信网LTE工程技术标准.pptx
- 2024-2025学年天津市滨海新区大港第一中学高二下学期期中质量调查数学试卷(含答案).docx
- 2024-2025学年天津市滨海新区大港油田实验中学高二下学期第二次阶段性考试数学试卷(含答案).docx
- 北师大版四年级数学上册第三单元知识总结.pptx
- 2024-2025学年天津市第二十一中学高二下学期期中质量调查数学试卷(含答案).docx
文档评论(0)