C++ 运算符重载
来源:互联网 发布:用网络看电视需要什么 编辑:程序博客网 时间:2024/05/16 02:14
运算符重载
l 运算符重载:C++能将运算符(+、-、*、/等)的定义扩展到运算分量是对象的情况,并且重载后运算符的运算顺序和优先级不变,这样使得C++代码更直观,更易读。
l 示例
Class A
{
……
};
A a,b,c,d;
d=a+b*d
l 双目运算符重载
非成员形式重载(红色)及成员形式重载(金色)
class A
{
public:
A(int s){a=s;}
friend A operator +( A &x , A & y); //两个形参对象
A operator –(A &y) //一个形参对象
{
int t=a-y.a;
A r(t);
return r ;
}
private:
int a;
};
A operator +( A &x , A & y)
{
int m= x.a+y.a;
A n(m);
return n;
}
l 单目运算符(增量运算符)重载
前增量重载(红色)、后增量重载(橙色)
class A
{
public:
A(int s){a=s;}
A &operator ++ ()
{
a++;
return *this;
}
A operator ++ (int)
{
A temp(*this);
a++;
return temp;
}
private:
int a;
};
l 赋值运算符重载
A & operator = ( A &s)
{
a=s.a;
return *this;
}
l 本课题目
编写一个复数类Complex和一个整数类Increase,其中复数类基本属性是实部和虚部,整数类的基本属性是数值大小,自己构建成员函数让程序完成以下主函数的各执行语句。
void main()
{
Complex a(3,2),b(2,3),c;
c=a+b; //’+’运算符重载,成员函数形式实现
c.print(); //输出复数ai+b
c=a-b; //’-’运算符重载,非成员函数形式实现
c.print();
Increase d(100);
((++d)++)++.print();//前增量、后增量运算符重载,成员函数形式实现
d.print(); //输出整数大小
}
- C++-运算符重载
- [C++]重载运算符
- C#:运算符重载
- c++-++运算符重载
- C++:重载运算符
- 运算符重载(C++)
- [c++]运算符重载
- 【C++】运算符重载
- C++--------------------------------------------运算符重载
- C#:运算符重载
- C++:运算符重载
- C++:运算符重载
- C#:运算符重载
- [C++]运算符重载
- 【c++】运算符重载
- C++:运算符重载
- C#:运算符重载
- C++:运算符重载
- IPTV终于开始要结果了
- ContextBoundObject 上下文对象的用法
- 做就做像马云那种人才
- 在web.xml中透过contextConfigLocation配备spring
- win32 api 注册表类
- C++ 运算符重载
- 忆龙2009:Google官方的站点设计指南
- 网页制作另类特殊技巧三则
- [转]实现MySQL的Replication
- c#中使用多线程访问 winform中控件的若干问题
- linux下数据库安装详细介绍
- 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥
- hibernate中的schema
- 人工智能常用缩略语