0
請在下面的代碼中告訴我做錯了什麼,compilor給我錯誤 1.聲明operator =爲非函數 2.在const之前的預期主表達式 我無法確定我的錯誤C++常量引用返回聲明operator =作爲非函數
等 plz幫助我
#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;
}
ohh謝謝,我忘了 – user3215228
@ user3215228不客氣。順便說一句,'使用命名空間std'被認爲是不好的做法。你可能會在這裏找到很多關於爲什麼感興趣的帖子。 – taocp
這是一個不好的習慣,在一個.cpp源文件中並不重要。 –