ベクトルのデータ(2つの数値データ)をクラスを用いて管理することができます
ソーラー「
比較演算子>のオーバーロードを実行することにより
もともと
比較演算子>が通常持っている機能に加えて
さらに
オブジェクトaとオブジェクトb
に
比較演算子>を作用させた
a>b
を記述した場合に
どのような命令が実行されるかを
追加して設定することができます
(通常は
オブジェクトaとオブジェクトb
に
比較演算子>を作用させた
a>b
を実行することはできませんね)
先程は
クラスSuutitoMoji
に
クラスSuutitoMojiのメンバ関数
operator>関数を設定する方法を用いて
クラスSuutitoMoji型のオブジェクトaのメンバ変数a.xに格納されている数値データが
クラスSuutitoMoji型のオブジェクトbのメンバ変数b.xに格納されている数値データより
大きければ
a>b
が
1の値を持つように
クラスSuutitoMoji型のオブジェクトaのメンバ変数a.xに格納されている数値データが
クラスSuutitoMoji型のオブジェクトbのメンバ変数b.xに格納されている数値データより
小さければ
a>b
が
0の値を持つようにすることができました
今度は
次のような
クラスVectorというものを用意します
クラスVectorのクラス宣言は
class Vector {
public:
int x;
public:
int y;
};
となっているとします
このクラスVectorを用いれば
2つの数値データを取り扱うことのできるオブジェクトを生成することができます
具体的には
このクラスVectorを用いて
aのクラスVector型のオブジェクト宣言
Vector a;
を実行した場合
クラスVector型のオブジェクトaのメンバ変数a.x
クラスVector型のオブジェクトaのメンバ変数a.y
が生成されます
そして
a.x=2;
を実行して
クラスVector型のオブジェクトaのメンバ変数a.xに数値データ2を代入したり
a.y=4;
を実行して
クラスVector型のオブジェクトaのメンバ変数a.yに数値データ4を代入したりすることもできます
つまり
このクラスVectorを用いて
オブジェクトを作製すれば
2つの数値データを
管理することができるというわけです
となると
💖2つの数値データをもつ2次元ベクトルのデータを💖
クラスVectorを用いて
管理することもできるんですね」
マックス「確か、ベクトルっていうのは
方向と長さをもつデータを表すために考え出された概念で
2次元ベクトルは
2つのデータを持っているんだったな
例えば
xy座標に
A(1,1)
という点があるとするだろう?
O(0,0)
の原点から
A(1,1)
にむかって線を引くと
ちょうどx軸に対して45度の角度で線は伸びていく
このとき
線分OAの長さは
(1²+1²)の√(ルート)
つまり
(1²+1²)の2分の1乗で表されるってわけだ
線分OAは
x軸に対して45度の角度をもち
長さが
(1²+1²)の2分の1乗ってわけだ
ということは
💖(1,1)💖
のように
2つのデータ
1
1
を()の中に記述するだけで
線分OAの
💖向き 💖と 💖長さ 💖
が
表現できるってわけだ
この(1.1)を2次元ベクトル
というんじゃなかったか?」
ソーラー「はい、そして
2次元ベクトル
この
線分OAの長さを表すことになります」
int(イント)「そうなんだ はじめて知っちゃった」
てんC「ということは
xy座標上に
B(2.2)
という点がある場合
(2.2)が2次元ベクトル
このとき
線分OBの長さは(2²+2²)の2分の1乗
つまり
2次元ベクトル
で
2次元ベクトル
x軸に対して45度の角度を持っているというわけなのですね」
ソーラー「そう
2次元ベクトルは
(2,2)のように
2つの数値データで表すことができるのです
コンピュータは数値データを取り扱うのが得意なので
2次元ベクトルは2つの数値データ
で表すことができるということは
コンピュータでも
ベクトル(2つの数値データ)を取り扱うことができるというわけです
そして
クラスを用いることにより
簡単に
プログラムで
ベクトルを扱うこともできるんだよ」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます