C++相談室 part28
■ このスレッドは過去ログ倉庫に格納されています
0347デフォルトの名無しさん
NGNG//複素数クラス
class Complex{
double re;
double im;
public:
//コンストラクタ省略
friend double Real(const Complex& x) {return(x.re);}
friend double Imag(const Complex& x) {return(x.im);}
//中略
Complex& operator+=(Complex& x){
re+=x.re;
im+=x.im;
return (*this);
}
Complex& operator-=(Complex& x){
re-=x.re;
im-=x.im;
return (*this);
}
friend Complex operator+(const Complex& x,const Complex& y){
return (Complex(x.re+y.re,x.im+y.im));
}
//以下省略
というソースなのですが、これに関して質問させて下さい。
friendについてなのですが、Complex& operator+=(Complex& x){〜〜〜}はfriend修飾しなくて良いのでしょうか?
引数の私的部にアクセス出来るようにするのがfriendだと思ったのですが、
Complex& operator+=(Complex& x)は私的部にアクセスしていますよね?
どうか解説お願いします。
■ このスレッドは過去ログ倉庫に格納されています