operatorは演算子という意味で operator+は+演算子という意味なんで~す
🌞 🌞 🌞 🌞 🌞 🌞 🌞
では再び!
いきま~す。\(^o^)/
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のクラス宣言内に
+演算子のオーバーロード宣言の部分を書きくわえて
+演算子のオーバーロードの定義を記述します
」
👇
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;
}
が追加されていることに注目してね。
さ~て(´▽`*)
どこから始めようかな?
うふふ
ここで・・・
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;
}
のように記述しています。
🌞 🌞 🌞 🌞 🌞 🌞 🌞
マックス「
public:
Point operator+(Point p);
は
+演算子の機能を追加して定義することを
宣言しているのか?
この宣言の仕組みはどうなっているんだ?
なんだ
この
operatorっていうのは?」
int(イント)「えへへ
わたしはわかっちゃった~」
マックス「なにぃ」
int(イント)「
operatorはオペレータっていうんでしょう。
オぺレーターっていったら
演算子
のことじゃな~い(´▽`*)
ということは
operator+
ていうのは
+演算子
ということになるんじゃな~い
かんたんね。」
マックスをつんつんする
マックス「 なにぃ
もっと
難しい意味があるのかとおもっていたぞ」
ソーラー「さりげなく
operator+
は
operatorが+の前に記述されているね。
英語表記だから
日本語の
+演算子と違い
operatorが+の前に
くるんだね」
マックス「ということは
Pointのクラス宣言内で
Point operator+(Point p);
をみたとき
operator+
と記述しているだけで
+演算子のオーバーロード
つまり
+演算子の機能を追加しようとしていることがわかるわけだ
ここは
俺が華麗に
この
😸Point operator+(Point p);😸
の仕組みの解説をしてみるぜ」
int(イント)「わあ すっご~い
マックス
Point operator+(Point p);
の意味がもうわかるの?」
マックス「ひゃはは
Point operator+(Point p);
の意味はなあ・・・・・」
つづく・・・
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます