💖p1.operator+(p2)💖に💖オブジェクトa💖を戻り値として戻すなんてできるのか?
つづき・・・
ソーラー「
つまり
p1+p2;
すなわち
💖クラスPoint型のオブジェクトp1のメンバ関数💖
p1.operator+(p2);
が
実行されると
Point a;
a.x =p1.x + p2.x;
a.y =p1.y+ p2.y;
return a;
が実行されることになります」
マックス「やったな
p1+p2;
すなわち
💖クラスPoint型のオブジェクトp1のメンバ関数💖
p1.operator+(p2);
が
実行されると
Point a;
a.x =p1.x + p2.x;
a.y =p1.y+ p2.y;
return a;
が実行されることになるのがわかった
かなりの進展だぜw
あとは
Point a;
a.x =p1.x + p2.x;
a.y =p1.y+ p2.y;
return a;
が実行されると何が起こるのかをみていけばいいわけだ」
ソーラー「🌞そうですね🌞
これは簡単かな?
まず
aのPoint型のオブジェクト宣言
Point a;
が実行されると
クラスPoint型のオブジェクトaのメンバ変数
a.x
a.y
が生成されます。
あとは
a.x =p1.x + p2.x;
a.y =p1.y+ p2.y;
が実行されることにより
a.xには
クラスPoint型のオブジェクトp1のメンバ変数p1.x
と
クラスPoint型のオブジェクトp2のメンバ変数p2.x
が足し合わされた
p1.x + p2.x
が
a.x =p1.x + p2.x;
と代入され
a.yには
クラスPoint型のオブジェクトp1のメンバ変数p1.y
と
クラスPoint型のオブジェクトp2のメンバ変数p2.y
が足し合わされた
p1.y + p2.y
が
a.y =p1.y + p2.y;
と代入されます
クラスPoint型のオブジェクトaのメンバ変数
a.x
a.y
には
p1.x + p2.x
p1.y + p2.y
が代入されることになります
あとは
return a;
を実行することにより
戻り値として
💖クラスPoint型のオブジェクトa💖
が
p1+p2
すなわち
💖引数にp2が代入されたオブジェクトp1のメンバ関数💖
💖p1.operator+(p2)💖
に
返されることになります。
すなわち
💖p1.operator+(p2)💖
は
💖クラスPoint型のオブジェクトa💖
を
表すことになります
マックス「
💖p1.operator+(p2)💖
は
💖クラスPoint型のオブジェクトa💖
を
表すことになるのか?
なんか
💖p1.operator+(p2)💖
に
💖クラスPoint型のオブジェクトa💖
を戻り値として
返すなんてできるのか?
return 1;
などを実行して
関数には戻り値として
1のような整数値を返してなかったか?」
int(イント)「う~ん」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます