C++

クラス継承機能

C++ virtual 純粋仮想関数と抽象クラス

純粋仮想関数 ある仕事で、関数名は決まっているけれども、関数内で何をするかはまだ決まっていないと言ったような場合があります。 そんな時は、まず1つのクラスを作り、その中に関数名だけ定義しておこう。そして、関数の中身を実装する時は、その関数名...
クラス継承機能

C++ 基本・派生クラス間のアドレス値の相互変換

はじめに int型やchar型、double型などの基本データ型は、それぞれの基本データ型と同じポインタ型を使って表現できます。 int i; // int型 int* pi; // int型ポインタ char c; // char型 ch...
クラス継承機能

C++ 基本・派生クラス間の変数オーバーライド

基本クラスとその派生クラスに同じ名前の変数がある場合は、どのようにして使い分ければ良いでしょうか?例えば、基本クラスにint型のdata変数があったとします。そして、その派生クラスにも、int型のdata変数があったとします。こういう場合、...
クラス継承機能

C++ 関数のオーバーライドとは?

基本クラスとその派生クラスに同じ名前の関数がある場合は、引数のデータ型や引数の個数が1つでも違っていれば呼び分ける事ができますが、引数のデータ型、引数の個数が全く同じだったら呼び分ける事ができるでしょうか?例えば、基本クラスにshow関数が...
クラス継承機能

C++ 基本・派生クラス間の関数オーバーロード

基本クラスとその派生クラスに同じ名前の関数がある場合は、通常の関数やメンバ関数のように多重定義(オーバーロード)が可能です。通常の関数の多重定義(オーバーロード)についてはコチラ。メンバ関数の多重定義(オーバーロード)についてはコチラ。 #...
クラス継承機能

C++ クラス継承時のpublic private protected

派生クラスを定義する際には、基本クラス名を書く必要がありますが、それと同時にアクセス指定子も必要です。このアクセス指定子は、派生時に基本クラスのクラスメンバのアクセス指定子をどのように継承するか決めるモノです。基本クラスに元々定義してあるク...
クラス継承機能

C++ クラスの継承とは?

継承は、「引き継ぐ」と言う意味があります。クラスの継承とは、その名の通りクラスの機能(メンバ変数、メンバ関数など)を引き継いで新しいクラスを作ると言う意味です。継承はインヘリタンスと呼ぶ場合もあります。一般的な使い方としては、基本的な機能を...
クラス基本機能

C++ フレンドクラスとフレンド関数とは? friend

クラス内のprivateやprotectedメンバ変数は、基本的に、同じクラス内のメンバ関数からしかアクセスできません。しかし、フレンド機能を使うと、通常の関数からもアクセスできるようになります。フレンド機能には、フレンド関数とフレンドクラ...
クラス基本機能

C++ constメンバ関数とmutable

クラス型オブジェクトのインスタンスを作る時にconstキーワードをつけると、それ以降、そのインスタンスのメンバ変数の値が変更できなくなり、定数化します。そして、なぜかそのインスタンスのメンバ関数も使用不可になってしまいます。「メンバ変数を変...
クラス基本機能

C++ デストラクタとは?

クラスのメンバ関数には、特殊なモノが存在します。コンストラクタとデストラクタです。ここではデストラクタについて説明します。(コンストラクタについてはコチラ。) コンストラクタは、クラスのインスタンス作成時に自動的に呼ばれる特殊なメンバ関数で...