あなたが私を助けることができるかどうか疑問に思っていました。ここでOperator = C++のConst変数でオーバーロード
は私の.hです:
Class Doctor {
const string name;
public:
Doctor();
Doctor(string name);
Doctor & Doctor::operator=(const Doctor &doc);
}
と私のメイン:
int main(){
Doctor d1 = Doctor("peter");
Doctor d2 = Doctor();
d2 = d1;
}
私は演算子=の機能をしたいです。誰でも助けてくれますか? Doctorのconstメンバーに注目してください。
*********** EDIT:********* 私の主な問題は、別のクラスに、Pacientのような医者の属性を持たせたいということです。医師。しかし私は私の医者を変えることができるようにしたい。私は医者Aを見ていますが、私は医者Bを見たいと思っています。それは私の他のクラス(Pacient)のsetDoctor関数を使って行います。コードを実行していた場合、私は次のように言っています。
class Patient{
Doctor &d;
};
そしてポインタを変更します。しかし、私は先生の一人によって作られた基本コードを使用していますし、それは、クラスは次のように定義されています:
class Patient{
Doctor d;
}
しかし、私はこれが原因で、私はどちらかになるだろうPatientクラスでsetDoctor()で行うことは不可能だと思いますvarable自体をコピーまたは変更します。最初のものは違いがなく、2番目のものはconstのために不可能です。私は正しい?
明らかに変更が必要な場合は、なぜそれをconstにしていますか? –
初期化されていません...私はよく覚えていませんが、一度初期化すると変更できないと思います。 – jasonco
コピーコンストラクタではない理由はありますか? –