ベクトルのデータ(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次元ベクトルOA


というんじゃなかったか?」


ソーラー「はい、そして


2次元ベクトルOAの長さといえば


この


線分OAの長さを表すことになります」


int(イント)「そうなんだ はじめて知っちゃった」


てんC「ということは


xy座標上に


B(2.2)


という点がある場合


(2.2)が2次元ベクトルOBを表すことになるのですね


このとき


線分OBの長さは(2²+2²)の2分の1乗


つまり


2次元ベクトルOBの長さは(2²+2²)の2分の1乗



2次元ベクトルOBの向きは


x軸に対して45度の角度を持っているというわけなのですね」


ソーラー「そう


2次元ベクトルは


(2,2)のように


2つの数値データで表すことができるのです


コンピュータは数値データを取り扱うのが得意なので



       2次元ベクトルは2つの数値データ



で表すことができるということは


コンピュータでも


ベクトル(2つの数値データ)を取り扱うことができるというわけです


そして


クラスを用いることにより


簡単に


プログラムで


ベクトルを扱うこともできるんだよ」
























  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る