(C/C++学习笔记操作符重载入门)

来源:互联网 发布:汕头网店美工培训 编辑:程序博客网 时间:2024/05/19 22:03
#include "iostream"using namespace std;//a+biclass  Complex{public:    int a;    int b;public:    Complex(int a = 0, int b = 0)    {        this->a = a;        this->b = b;    }    void printCom()    {        cout<<a<<"+"<<b<<"i"<<endl;    }};void main01(){    Complex c1(1, 2), c2(3, 4);    int a = 10, b = 20;     a = a + b; //int 是基础类型,编译器已经为这些类型提供+操作了。    //c1 = c1 + c2;     //c1的类型是 Complex,这种类型,是自定义类型。 编译器根本不知道如何加,    //但是c++编译器会给你提供一个机制,让你实现自定义类型加    system("pause");}Complex ComAdd(Complex &c1, Complex &c2){    Complex tmp;    tmp.a = c1.a + c2.a;    tmp.b = c1.b + c2.b;    return tmp;}Complex operator+(Complex &c1, Complex &c2){    Complex tmp;    tmp.a = c1.a + c2.a;    tmp.b = c1.b + c2.b;    return tmp;}void main(){    Complex c1(1, 2), c2(3, 4);    //Complex c3 = ComAdd(c1, c2);    //Complex c3 = operator+(c1, c2);    Complex c3 = c1 + c2;    c3.printCom();    system("pause");}
0 0
原创粉丝点击