『演算子のオーバーロード』 は そのクラスごとに個別に設定されるというわけですね。
🌞 🌞 🌞 🌞 🌞 🌞 🌞
では!
いきま~す。\(^o^)/
まずはPointというクラスを作製します
Pointのクラス宣言とメンバ関数pointdisplay()の定義は
次のようになっているとします。
👇
class Point{
public:
int x;
int y;
public:
void pointdisplay();
};
void Point::pointdisplay() {
cout << x << "\n";
cout << y << "\n";
}
🌞 🌞 🌞 🌞 🌞 🌞 🌞
マックス「いよいよくるか」
🌞 🌞 🌞 🌞 🌞 🌞 🌞
+演算子に
p1+p2;
のように
💖クラスPoint型の💖
オブジェクトp1とオブジェクトp2を足し合わせる機能を追加してみたいとおもいます。
そのためには
Pointのクラス宣言とメンバ関数pointdisplay()の定義に
さらに
次のように
+演算子のオーバーロードの部分を書きくわえます」
👇
class Point{
public:
int x;
int y;
public:
void pointdisplay();
public:
Point operator+(Point p);
//👆🌞+演算子のオーバーロード宣言です
};
void Point::pointdisplay() {
cout << x << "\n";
cout << y << "\n";
}
Point Point::operator+(Point p)
{
Point a;
a.x = x + p.x;
a.y = y + p.y;
return a;
}
//👆🌞+演算子のオーバーロードの定義です
ここで
Pointのクラス宣言に
public:
Point operator+(Point p);
が加えられていて
+演算子の新たな機能の定義として
Point Point::operator+(Point p)
{
Point a;
a.x = x + p.x;
a.y = y + p.y;
return a;
}
が追加されていることに注目してね。」
なぜ このように記述されるか
その仕組みは後のエピソードで解説いたします
solarplexussより
マックス「クラスPoint型の
オブジェクトp1とオブジェクトp2を足し合わせる
+演算子のオーバーロード宣言は
💖クラスPointの内部💖で
設定されるってことか?」
🌞 🌞 🌞 🌞 🌞 🌞 🌞
そこに気づいちゃった?
そう
+演算子に
p1+p2;
のように
💖クラスPoint型の💖
オブジェクトp1とオブジェクトp2を足し合わせる機能を追加するには
Pointのクラス宣言内に
+演算子のオーバーロード宣言をかきくわえて
さらに
+演算子のオーバーロードの定義を記述します
ということは
全く別のクラス
Bodydataのようなものがあって
Bodydataのオブジェクト宣言
Bodydata b1,b2;
を行い
オブジェクトb1とb2を直接足し合わせる
b1+b2
が実行できるよう
+演算子の機能を追加するには
Bodydataのクラス宣言内に
+演算子のオーバーロードに関する部分(+演算子のオーバーロード宣言)をかきくわえて
+演算子のオーバーロードの定義を記述する必要があります
🌞 🌞 🌞 🌞 🌞 🌞 🌞
ソーラー「そうか!
+演算子に
p1+p2;
のように
💖クラスPoint型の💖
オブジェクトp1とオブジェクトp2を足し合わせる機能を追加するために
Pointのクラス宣言内に
+演算子のオーバーロードに関する部分(+演算子のオーバーロードs宣言)をかきくわえて
さらに
+演算子のオーバーロードの定義を記述したとしても
+演算子には
💖クラスPoint型の💖
オブジェクトp1とオブジェクトp2を足し合わせる機能が追加されただけで
🍋別のクラスBodydata型の🍋
オブジェクトb1とオブジェクトb2を
b1+b2;
のように
足し合わせることはできない
つまり
+演算子に
クラスBodydata型の
オブジェクトb1とオブジェクトb2を
b1+b2;
のように
足し合わせる機能は追加されないというわけなんだね」
int(イント)「なるほど、なるほど😊」
てんC「
『演算子のオーバーロード』
は
そのクラスごとに個別に設定されるというわけなのですね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます