码迷,mamicode.com
首页 > 其他好文 > 详细

operator重载的使用

时间:2015-03-30 20:30:52      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:

C++的大多数运算符都可以通过operator来实现重载。

 

简单的operator+

#include <iostream>
using namespace std;

class A
{
public:
    A(int x){i=x;}
    int i;
    A &operator+(A &p)
    {
        this->i+=p.i;
        return *this;
    }
};

void main()
{
    A a(10),b(20),c(0);
    c=a+b;
    cout<<c.i<<endl;
    system("pause");
}

 

简单的operator++

#include <iostream>
using namespace std;

class A
{
public:
    A(int x){i=x;}
    int i;
    A &operator++()
    {
        this->i++;
        return *this;
    }
};

void main()
{
    A a(10);
    a++;
    cout<<a.i<<endl;
    system("pause");
}

 

深层operator=

#include <iostream>
using namespace std;

class A
{
public:
    A(int x){i=new int;*i=x;}
    ~A(){delete i;i=0;}
    A(const A&p)
    {
        i=new int;
        *i=*(p.i);
    }
    int *i;
    A &operator=(A &p)
    {
        *i=*(p.i);
        return *this;
    }
    int pp(){return *i;}
};

void main()
{
    A a(10),b(0);
    a=b;
    cout<<a.pp()<<endl;
    system("pause");
}

 

operator重载的使用

标签:

原文地址:http://www.cnblogs.com/BlackCat86/p/4378963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!