C 言語学習者に向けた C++ C 言語と C++って何が違う? C 言語と C++の一番の違いとして、C++では「 クラス 」というものが扱える。 クラスとは、データやそれを扱った処理などをひとまとめにしたものである。 C 言語で使用できた構造体では変数しか使用できないが、クラスでは 関数 も扱うことができる。 クラスをデータ型として宣言されたものを インスタンス とも呼ぶ。 アクセス修飾子について クラスは中身となる変数や関数を(1)定義 した後、 (class クラス名) (2)宣言 することで使用できる。 (クラス名 インスタンス名) クラスでは、クラス外からのアクセスに関して 制限を加える事ができる。 private : クラスの中だけでしか利用できない public : クラスの外からでも利用できる クラスを利用することで、データとそのデータを使った処理の目的を明確にすることができ、 バグを減らすことにも繋がり、効率的なプログラミングが可能になる。 クラスの定義と利用 クラスを定義するときは class に続いて クラス名を入力 class Vector3d { public: double x, y, z; アクセス修飾子 public のメンバ変数やメンバ関数は Vector3d(){ インスタンスからでもアクセスできる x=y=z=0 } コンストラクタはインスタンス生成時に必ず呼び出される Vector3d(double _x, double _y, double _z) { 初期化を行うための関数である …… 引数が異なれば複数定義できる } void normalize(){ クラスには関数を定義できる クラスの末尾にはセミコロンを付ける …… } }; インスタンスを生成するときはクラス名に続いて class Sphere{ インスタンス名を入力 public: Vector3d center; クラスも関数の引数に設定できる double getIntersec(Vector3d &p, Vector3d &v){ double A = v.x * v.x + v.y * v.y + v.z * v.z; インスタンス名に「.」で関数や変数にアクセスできる 各インスタンスの変数の値はそれぞれで別々に管理される …… }
© Copyright 2024 ExpyDoc