JAVAのふしぎ
int num = 100
ってのは変数numを作成し、100を代入する と書いてあった。
C++を多少なりともやった人間から見ると、これはちょっと違和感があるなあ。C++は「初期化」と「代入」を厳密に区別するから。JAVAはコピーコンストラクタがないらしいから、ほんとに代入をしているのかもしれないけど。
#includeusing namespace std; class A{ public: A(){} A(const A& a){ cout << "Copy constructor is called." << endl; } A& operator=(const A &a){ cout << "Operator \"=\" is called." << endl; return (*this); } }; int main(){ A a1, a2; A a3 = a1; a2 = a1; return 0; }
実行結果:
Copy constructor is called. Operator "=" is called.
C++やってればJAVAは簡単とかいうけどさ、よくわからん。勉強して3日目だからしょうがないといえばしょうがないか・・・