class complex
{
public:
complex(double r=0.0,double I=0.0){real=r;imag=I;}
void display();
private:
double real;
double imag;
};
complex a(10,20),b(5,8);
函数类型 operator 运算符(形参表)
{
函数体;
}
friend 函数类型 operator 运算符(形参表)
{
函数体;
}
class Fred
{
public:
// ...
};
#if 0
// 没有算符重载:
Fred add(Fred, Fred);
Fred mul(Fred, Fred);
Fred f(Fred a, Fred b, Fred c)
{
return add(add(mul(a,b), mul(b,c)), mul(c,a)); // 哈哈,多可笑...
}
#else
// 有算符重载:
Fred operator+ (Fred, Fred);
Fred operator* (Fred, Fred);
Fred f(Fred a, Fred b, Fred c)
{
return a*b + b*c + c*a;
}
#endif
#include <IOSTREAM.H>
class A
{
public:
A(int i):i(i){};
void print(){cout<<i<<endl;}
friend A operator + (A &a, A &b);//声明为友元
friend A operator ++(A &a, int);
friend A& operator ++(A &a);
friend A& operator +=(A &a, A &b);
protected:
int i;
private:
};
A operator + (A &a, A &b){//重载 a + b
return A(a.i + b.i);
}
A operator ++(A &a, int){//重载 a++
return A(a.i++);
}
A& operator ++(A &a){//重载 ++a
a.i++;
return a;
}
A& operator +=(A &a, A &b){//重载 +=
a.i += b.i;
return a;
}
void main(){
A a(5);
A b(3);
(a += b).print();
}
#include <IOSTREAM.H>
class A
{
public:
A(int i):i(i){};
void print(){cout<<i<<endl;}
A operator + (A &b);
A& operator += (A &b);
A operator ++(int);
A& operator ++();
protected:
int i;
private:
};
A A::operator + (A &b){//重载 +
return A(i + b.i);
}
A& A::operator+= (A &b){
i += b.i;
return *this;
}
A A::operator++ (int){//i++
return A(i++);
}
A& A::operator ++(){//++i
i++;
return *this;
}
void main(){
A a = 2;
A b = 3;
(++a).print();
(b++).print();
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有