html5中文学习网

您的位置: 首页 > 网站及特效实例 > jquery特效 » 正文

C++运算符重载 成员函数与友元函数详解_编程语言综合

[ ] 已经帮助:人解决问题
以下是对C++运算符重载 成员函数与友元函数进行了介绍,需要的朋友可以过来参考下
 
复制代码 代码如下:
dNTHTML5中文学习网 - HTML5先行者学习网
#include<iostream>dNTHTML5中文学习网 - HTML5先行者学习网
using namespace std;dNTHTML5中文学习网 - HTML5先行者学习网
class AdNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    int x,y;dNTHTML5中文学习网 - HTML5先行者学习网
    public:dNTHTML5中文学习网 - HTML5先行者学习网
    A(int xx,int yy):x(xx),y(yy){}dNTHTML5中文学习网 - HTML5先行者学习网
    A(){x=0;y=0;}dNTHTML5中文学习网 - HTML5先行者学习网
    A operator+(const A&b) //不加const限定,也可以dNTHTML5中文学习网 - HTML5先行者学习网
    { return A(x+b.x,y+b.y); }dNTHTML5中文学习网 - HTML5先行者学习网
    A operator-()dNTHTML5中文学习网 - HTML5先行者学习网
    { return A(-x,-y); }dNTHTML5中文学习网 - HTML5先行者学习网
    void show()dNTHTML5中文学习网 - HTML5先行者学习网
    {cout<<"x="<<x<<" y="<<y<<endl;}dNTHTML5中文学习网 - HTML5先行者学习网
};dNTHTML5中文学习网 - HTML5先行者学习网
void test_A()dNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    A a1(2008,512),a2(2013,420),a3;dNTHTML5中文学习网 - HTML5先行者学习网
    a3=a1+a2; //调用操作符重载函数: a1.oprator +(a2)dNTHTML5中文学习网 - HTML5先行者学习网
    a3.show();dNTHTML5中文学习网 - HTML5先行者学习网
    a1=-a1; //调用操作符重载函数: a1.operator -()dNTHTML5中文学习网 - HTML5先行者学习网
    a1.show();dNTHTML5中文学习网 - HTML5先行者学习网
}dNTHTML5中文学习网 - HTML5先行者学习网
/***********************dNTHTML5中文学习网 - HTML5先行者学习网
执行结果dNTHTML5中文学习网 - HTML5先行者学习网
x=4021 y=93dNTHTML5中文学习网 - HTML5先行者学习网
x=-2008 y=-512dNTHTML5中文学习网 - HTML5先行者学习网
**********************/dNTHTML5中文学习网 - HTML5先行者学习网
class BdNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    int x,y;dNTHTML5中文学习网 - HTML5先行者学习网
    public:dNTHTML5中文学习网 - HTML5先行者学习网
        B(int xx,int yy):x(xx),y(yy){}dNTHTML5中文学习网 - HTML5先行者学习网
        B(){x=0;y=0;}dNTHTML5中文学习网 - HTML5先行者学习网
        friend B operator+(const B&a,const B&b);dNTHTML5中文学习网 - HTML5先行者学习网
        friend B operator-(const B&a);dNTHTML5中文学习网 - HTML5先行者学习网
        void show()dNTHTML5中文学习网 - HTML5先行者学习网
        {cout<<"x="<<x<<" y="<<y<<endl;};dNTHTML5中文学习网 - HTML5先行者学习网
};dNTHTML5中文学习网 - HTML5先行者学习网
B operator+(const B&a,const B&b)dNTHTML5中文学习网 - HTML5先行者学习网
{return B(a.x+b.x,a.y+b.y);}dNTHTML5中文学习网 - HTML5先行者学习网
B operator-(const B&a)dNTHTML5中文学习网 - HTML5先行者学习网
{return B(-a.x,-a.y);}dNTHTML5中文学习网 - HTML5先行者学习网
/***************************dNTHTML5中文学习网 - HTML5先行者学习网
class BdNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    int x,y;dNTHTML5中文学习网 - HTML5先行者学习网
    public:dNTHTML5中文学习网 - HTML5先行者学习网
        B(int xx,int yy):x(xx),y(yy){}dNTHTML5中文学习网 - HTML5先行者学习网
        B(){x=0;y=0;}dNTHTML5中文学习网 - HTML5先行者学习网
        friend B operator+(const B&a,const B&b)dNTHTML5中文学习网 - HTML5先行者学习网
                {return B(a.x+b.x,a.y+b.y);}dNTHTML5中文学习网 - HTML5先行者学习网
        friend B operator-(const B&a)dNTHTML5中文学习网 - HTML5先行者学习网
            {return B(-a.x,-a.y);}dNTHTML5中文学习网 - HTML5先行者学习网
        void show()dNTHTML5中文学习网 - HTML5先行者学习网
        {cout<<"x="<<x<<" y="<<y<<endl;};dNTHTML5中文学习网 - HTML5先行者学习网
}dNTHTML5中文学习网 - HTML5先行者学习网
********************************/dNTHTML5中文学习网 - HTML5先行者学习网
int main()dNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    B B1(1991,1105),B2(2013,62),B3;dNTHTML5中文学习网 - HTML5先行者学习网
    B3=B1+B2; //调用操作符重载函数: a1.oprator +(a2)dNTHTML5中文学习网 - HTML5先行者学习网
    B3.show();dNTHTML5中文学习网 - HTML5先行者学习网
    B1=-B1; //调用操作符重载函数: a1.operator +()dNTHTML5中文学习网 - HTML5先行者学习网
    B1.show();dNTHTML5中文学习网 - HTML5先行者学习网
}dNTHTML5中文学习网 - HTML5先行者学习网
/****************************dNTHTML5中文学习网 - HTML5先行者学习网
运行结果:dNTHTML5中文学习网 - HTML5先行者学习网
x=4004 y=1167dNTHTML5中文学习网 - HTML5先行者学习网
x=-1991 y=-1105dNTHTML5中文学习网 - HTML5先行者学习网
Process returned 0 (0x0)   execution time : 0.021 sdNTHTML5中文学习网 - HTML5先行者学习网
Press any key to continue.

*****************************/dNTHTML5中文学习网 - HTML5先行者学习网

 dNTHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:

dNTHTML5中文学习网 - HTML5先行者学习网
#include<iostream>dNTHTML5中文学习网 - HTML5先行者学习网
using namespace std;dNTHTML5中文学习网 - HTML5先行者学习网
class AdNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    int x,y;dNTHTML5中文学习网 - HTML5先行者学习网
    public:dNTHTML5中文学习网 - HTML5先行者学习网
    A(int xx,int yy):x(xx),y(yy){}dNTHTML5中文学习网 - HTML5先行者学习网
    A(){x=0;y=0;}dNTHTML5中文学习网 - HTML5先行者学习网
    A operator+(const A&b) //不加const限定,也可以dNTHTML5中文学习网 - HTML5先行者学习网
    { return A(x+b.x,y+b.y); }dNTHTML5中文学习网 - HTML5先行者学习网
    A operator-()dNTHTML5中文学习网 - HTML5先行者学习网
    { return A(-x,-y); }dNTHTML5中文学习网 - HTML5先行者学习网
    void show()dNTHTML5中文学习网 - HTML5先行者学习网
    {cout<<"x="<<x<<" y="<<y<<endl;}dNTHTML5中文学习网 - HTML5先行者学习网
};dNTHTML5中文学习网 - HTML5先行者学习网
void test_A()dNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    A a1(2008,512),a2(2013,420),a3;dNTHTML5中文学习网 - HTML5先行者学习网
    a3=a1+a2; //调用操作符重载函数: a1.oprator +(a2)dNTHTML5中文学习网 - HTML5先行者学习网
    a3.show();dNTHTML5中文学习网 - HTML5先行者学习网
    a1=-a1; //调用操作符重载函数: a1.operator -()dNTHTML5中文学习网 - HTML5先行者学习网
    a1.show();dNTHTML5中文学习网 - HTML5先行者学习网
}dNTHTML5中文学习网 - HTML5先行者学习网
/***********************dNTHTML5中文学习网 - HTML5先行者学习网
执行结果dNTHTML5中文学习网 - HTML5先行者学习网
x=4021 y=93dNTHTML5中文学习网 - HTML5先行者学习网
x=-2008 y=-512dNTHTML5中文学习网 - HTML5先行者学习网
**********************/dNTHTML5中文学习网 - HTML5先行者学习网
class BdNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    int x,y;dNTHTML5中文学习网 - HTML5先行者学习网
    public:dNTHTML5中文学习网 - HTML5先行者学习网
        B(int xx,int yy):x(xx),y(yy){}dNTHTML5中文学习网 - HTML5先行者学习网
        B(){x=0;y=0;}dNTHTML5中文学习网 - HTML5先行者学习网
        friend B operator+(const B&a,const B&b);dNTHTML5中文学习网 - HTML5先行者学习网
        friend B operator-(const B&a);dNTHTML5中文学习网 - HTML5先行者学习网
        void show()dNTHTML5中文学习网 - HTML5先行者学习网
        {cout<<"x="<<x<<" y="<<y<<endl;};dNTHTML5中文学习网 - HTML5先行者学习网
};dNTHTML5中文学习网 - HTML5先行者学习网
B operator+(const B&a,const B&b)dNTHTML5中文学习网 - HTML5先行者学习网
{return B(a.x+b.x,a.y+b.y);}dNTHTML5中文学习网 - HTML5先行者学习网
B operator-(const B&a)dNTHTML5中文学习网 - HTML5先行者学习网
{return B(-a.x,-a.y);}dNTHTML5中文学习网 - HTML5先行者学习网
/***************************dNTHTML5中文学习网 - HTML5先行者学习网
class BdNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    int x,y;dNTHTML5中文学习网 - HTML5先行者学习网
    public:dNTHTML5中文学习网 - HTML5先行者学习网
        B(int xx,int yy):x(xx),y(yy){}dNTHTML5中文学习网 - HTML5先行者学习网
        B(){x=0;y=0;}dNTHTML5中文学习网 - HTML5先行者学习网
        friend B operator+(const B&a,const B&b)dNTHTML5中文学习网 - HTML5先行者学习网
                {return B(a.x+b.x,a.y+b.y);}dNTHTML5中文学习网 - HTML5先行者学习网
        friend B operator-(const B&a)dNTHTML5中文学习网 - HTML5先行者学习网
            {return B(-a.x,-a.y);}dNTHTML5中文学习网 - HTML5先行者学习网
        void show()dNTHTML5中文学习网 - HTML5先行者学习网
        {cout<<"x="<<x<<" y="<<y<<endl;};dNTHTML5中文学习网 - HTML5先行者学习网
}dNTHTML5中文学习网 - HTML5先行者学习网
********************************/dNTHTML5中文学习网 - HTML5先行者学习网
int main()dNTHTML5中文学习网 - HTML5先行者学习网
{dNTHTML5中文学习网 - HTML5先行者学习网
    B B1(1991,1105),B2(2013,62),B3;dNTHTML5中文学习网 - HTML5先行者学习网
    B3=B1+B2; //调用操作符重载函数: a1.oprator +(a2)dNTHTML5中文学习网 - HTML5先行者学习网
    B3.show();dNTHTML5中文学习网 - HTML5先行者学习网
    B1=-B1; //调用操作符重载函数: a1.operator +()dNTHTML5中文学习网 - HTML5先行者学习网
    B1.show();dNTHTML5中文学习网 - HTML5先行者学习网
}dNTHTML5中文学习网 - HTML5先行者学习网
/****************************dNTHTML5中文学习网 - HTML5先行者学习网
运行结果:dNTHTML5中文学习网 - HTML5先行者学习网
x=4004 y=1167dNTHTML5中文学习网 - HTML5先行者学习网
x=-1991 y=-1105dNTHTML5中文学习网 - HTML5先行者学习网
Process returned 0 (0x0)   execution time : 0.021 sdNTHTML5中文学习网 - HTML5先行者学习网
Press any key to continue.dNTHTML5中文学习网 - HTML5先行者学习网
*****************************/dNTHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助