c ++常量引用返回operator的声明=作为非函数

时间:2014-03-12 19:08:08

标签: c++

请告诉我在下面的代码中我做错了什么,compilor给了我以下错误 1.运营商声明=作为非功能 2. const之前的预期主表达式 我无法识别我的错误

等等 请帮助我

#include <iostream>
using namespace std;


class myClass{

    int a;
    int b;

    public:

        myClass();
        myClass(int x, int y);
        const myClass& operator=(const myClass &);  
        void display();     

};


myClass::myClass(){

    a=0;
    b=0;
}
myClass::myClass(int x, int y){
    this->a=x;
    this->b=y;
}

const myClass& myClass::operator=(const class & rightobj){

    if(this!=&rightobj){

        this->a=rightobj.a;
        this->b=rightobj.b;

    }

    return *this;

}

void myClass::display(){

    cout<<a<<endl;
    cout<<b<<endl;
}

int main(){

myClass class1(2,3);
myClass class2;

class2=class1;

class2.display();



return 0;
}

1 个答案:

答案 0 :(得分:4)

这里有一个拼写错误:

const myClass& myClass::operator=(const class & rightobj)
                                       //^^Should be myClass