网站大量收购独家精品文档,联系QQ:2885784924

计算机基础多态概念、覆盖与重载.ppt

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机基础 多态的概念、覆盖和重载;主要内容;什么是多态性?;什么是多态性?;静态多态性和动态多态性;主要内容;1、成员函数重载和覆盖;2、成员函数重载;成员函数重载;3、覆盖技术;覆盖技术;覆盖技术;覆盖技术;4、访问被覆盖的方法;访问被覆盖的方法;访问被覆盖的方法;主要内容;class Complex { double real,imag; public: Complex() { real=0; imag=0; } Complex(double r,double i); Complex(const Complex c); void print(); void copy(const Complex c); }; ;Complex::Complex(double r,double i) { real=r; imag=i; } Complex::Complex(const Complex c) { real=c.real; imag=c.imag;} void Complex::copy(const Complex c) { real=c.real; imag=c.imag; } void Complex::print() { if(imag0) coutrealimag‘i’endl; else outreal‘+’imag‘i’endl; };void main() { Complex a(3,4),b(4,5); a.print(); a.copy(b); a.print(); };class Complex { double real,imag; public: Complex() { real=0; imag=0; } Complex(double r,double i); Complex(const Complex c); void print(); void copy(const Complex c); Complex Add(const Complex c); }; ;Complex Complex::Add(const Complex c) { double x,y; x=real+c.real; y=imag+c.imag; Complex tmp(x,y); return temp; };void main() { Complex a(3,4),b(4,5),c(0,0); a.print(); a.copy(b); a.print(); c=a.Add(b); c.print(); };从简单数据类型开始思考运算符的实质? 表达式 9/2=4,而9.0/2.0=4.5 。这里的同一个运算符“/ ”,由于所操作的数据不同而具有不同的意义,为什么?如何实现的? C ++是由函数组成的,在C++内部,任何运算都是通过函数来实现的。在处理表达式 8+7时,C ++将这个表达式解释成如下的函数调用表达式: operator + ( 8, 7 ); 相同的运算符对不同数据有不同的操作,实质上是函数的重载!;C++已经为各种基本数据类型定义了可能的运算符函数,如 operator+ (int,int) operator- (int,int) operator/(int,int); operator/(double, double); 如果想让类的对象也能使用这些运算符,就需要重载对应的运算符。可以使用友元函数和成员函数两种方法实现运算符重载。;class Complex { double real,imag; public: Complex() { real=0; imag=0; } Complex(double r,double i); Complex(const Complex c); void print(); Complex operator+(const Complex c); }; ;Complex Complex::operator + (const Complex c) { return Complex(real+c.real,imag+c.imag); } void main() { Complex a(3,4),b(5,6),c; c=a+b; c.print(); };Complex Complex::operator + (const Complex c) { return Complex(real+c.real,imag+c.imag); } void main() { Complex a(3,4),b(5,6),c; c=a+b;

文档评论(0)

smartxiaohuli + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档