- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计(下)ppt241
C++语言程序设计(下) 第1章 计算机与程序设计 第2章 数据类型、运算符与表达式第3章 输入和输出第04章 控制结构第5章 函数第6章 数组第7章 指针第9章 链表 第10章 面向对象程序设计基本概念 第11章 类与对象第12章 类和对象的使用第13章 运算符重载 第14章 继承第15章 多态性第16章 文件和流第17章 异常第18章 模板 第13章 运算符重载 讲授内容 运算符重载的概念 以成员函数的方式重载运算符 以友元函数的方式重载运算符 流插入和流提取运算符的重载 一般单目和双目运算符的重载 赋值运算符重载 类型转换运算符重载 13.1 运算符重载的概念 (1/2) 类似于函数重载 把传统的运算符用于用户自定义的对象 直观自然,可以提高程序的可读性 体现了C++的可扩充性 通过定义名为operator 运算符的函数来实现运算符重载 例1 :复数的+、-、=运算 (1/5) // 文件1:complex1.h--复数类的定义 #ifndef COMPLEX1_H #define COMPLEX1_H class Complex { public: Complex(double = 0.0, double = 0.0); Complex operator+(const Complex) const; Complex operator-(const Complex) const; Complex operator=(const Complex); void print() const; private: double real; // real part double imaginary; // imaginary part }; #endif 例1 :复数的+、-、=运算 (2/5) //文件2:complex1.cpp--复数类的成员函数定义 #include iostream.h #include complex1.h Complex::Complex(double r, double i) { real = r; imaginary = i; } Complex Complex::operator+(const Complex operand2) const { Complex sum; sum.real = real + operand2.real; sum.imaginary=imaginary + operand2.imaginary; return sum; } 例1 :复数的+、-、=运算 (3/5) Complex Complex::operator-(const Complex operand2) const { Complex diff; diff.real = real - operand2.real; diff.imaginary=imaginary - operand2.imaginary; return diff; } Complex Complex::operator=(const Complex right) { real = right.real; imaginary = right.imaginary; return *this; // enables concatenation } void Complex::print() const { cout(real , imaginary ); } 例1 :复数的+、-、=运算 (4/5) //文件3: FIG13_1.cpp--主函数定义 #include iostream.h #include complex1.h main() { Complex x, y(4.3, 8.2), z(3.3, 1.1); cout x: ; x.print(); cout \ny: ; y.print(); cout \nz: ; z.print(); x = y + z; cout \n\nx = y + z:\n; 例1 :复数的+、-、=运算 (5/5) x.print(); cout = ; y.print(); cout + ; z.print(); x = y - z; cout \n\nx = y - z:\n; x.print(); cout
您可能关注的文档
最近下载
- 江苏开放大学公文写作与处理050008过程性考核作业三.docx VIP
- 运维规范试题.docx VIP
- 《先进纺织技术》课件.ppt VIP
- 2025秋数学人教二年级(上) 身体上的尺子:第1课时 身体上的长度.pptx VIP
- 保定动力19秋网络运维班知识测试_A.docx VIP
- 高速铁路概论单元四第节高速铁路通信课件.pptx VIP
- HFC网络(光机及以下)调试运维培训试题.docx VIP
- 化学-海南省天一大联考2023-2024学年高三学业水平诊断(二)带答案.docx VIP
- 高考数学培优---椭圆、双曲线的焦点弦被焦点分成定比.docx VIP
- 福建省电子技术基础应试指南测试卷答案.docx VIP
原创力文档


文档评论(0)