- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计运算符重载教程
C++面向对象程序设计教程;4.1 运算符重载的概念;运算符重载的概念;例4.1 通过函数实现复数相加示例。
// 声明复数数
class Complex
{
private:
// 数据成员
double real; // 实部
double image; // 虚部
public:
// 公有函数
Complex(double r = 0, double i = 0): real(r), image(i){ }// 构造函数
void Show() const; // 输出复数
static Complex Add(const Complex z1, const Complex z2);
// 复数加法
};
void Complex::Show() const // 输出复数
{
if (image 0) cout real image i endl; // 虚部为负
else if (image == 0) cout real endl; // 虚部为0 else cout real “+” image “i” endl; // 虚部为负
}
……;例4.1 通过函数实现复数相加示例。
……
Complex Complex::Add(const Complex z1,const Complex z2)
{
Complex z(z1.real + z2.real, z1.image + z2.image);// 定义复数对象
return z; // 返回复数
}
int main() // 主函数main()
{
Complex z1(2, 3), z2(6, -5), z3; // 定义复数对象
z1.Show(); // 输出z1
z2.Show(); // 输出z2
z3 = Complex::Add(z1, z2); // z3=z1+z2
z3.Show(); // 输出z3
system(PAUSE); // 输出系统提示信息
return 0; // 返回值0, 返回操作系统
};运算符重载;例4.2 通过运算符重载实现复数相加的示例。
#include iostream // 编译预处理命令
using namespace std; // 使用命名空间std
// 声明复数数
class Complex
{
private:
// 数据成员
double real; // 实部
double image; // 虚部
public:
// 公有函数
Complex(double r = 0, double i = 0): real(r), image(i){}// 构造函数
void Show() const; // 输出复数
friend Complex operator+(const Complex z1,const Complex z2)
{ return Complex(z1.real + z2.real, z1.image + z2.image); }
};
void Complex::Show() const // 输出复数
{
if (image 0) cout real image i endl; // 虚部为负
else if (image == 0) cout real endl; // 虚部为0
else cout real + image i endl; // 虚部为负
}
……;例4.2 通过运算符重载实现复数相加的示例。
……
// int operator+(int a, int b){ return a + b; }
// 错,重载运算符的函数的参数不能全部是C++的标准类型
int main() // 主函数main()
{
Complex z1(2, 3), z2(6, -5), z3; // 定义复数对象
z1.Show(); // 输出z1
z2.Show(); // 输出z2
z3 = z1 + z2; // 进行复数加法运算
z3.Show(); // 输出z3
system(PAUSE); // 输出系统提示信息
return 0; // 返回值0, 返回操作系统
};4.2 运算符重载方式;运算符重载方式 ;4.2.1 运算符重载为类的成员函数;用类的成员函数重载单目运算符;例4.3 单目运算符重载为类的成员函数示例。
// 声明整型类
class Intege
您可能关注的文档
最近下载
- 成人鼻肠管的留置与维护(2021团体标准解读)全文.pptx
- 【国家标准】国家职业技能标准 (2019年版) 起重装卸机械操作工.pdf VIP
- 小儿轮状病毒性肠炎护理ppt.pptx
- Pilon骨折精品课件.ppt VIP
- 中纺机集团对下属企业工资总额管理办法介绍.docx VIP
- 中国银行新疆区分行招聘笔试试题2024 .pdf VIP
- 2025中国银行新疆区分行社会招聘笔试备考题库及答案解析.docx VIP
- 2024电能计量装置典型设计低压用电客户.docx VIP
- 粗轧机AWC液压控制系统故障原因分析和改进.pdf VIP
- 2025年中国银行社会招聘备考试题及答案解析.docx VIP
文档评论(0)