テレビクラス |
電源の状態 現在のチャンネル 現在の音量 |
電源ON/OFF チャンネル変更 音量調節 |
テレビクラス |
電源の状態 現在のチャンネル 現在の音量 |
現在の電源状態取得 現在のチャンネル状態取得 現在の音量状態取得 電源ON/OFF チャンネル変更 音量調節 現在の状態をコンソール表示 |
ファイル名 | 呼び方 | 備考 | |
Television.h | ヘッダファイル | クラスの定義 (宣言) を書く |
Java、C# ではこの3ファイルは 1ファイルにまとめられている |
Television.cpp | cpp ファイル | クラスの実装を書く | |
TVProject.cpp | - | main 関数があるファイル。クラスを呼び出して利用する |
メンバ関数名 | 名前 | 説明 |
Television() | コンストラクタ | オブジェクトが生成されるときに自動的に呼ばれる。クラス名と同じ名前で戻り値を持たない特別な関数。 |
~Television() | デストラクタ | オブジェクトが破棄ときに自動的に呼ばれる。クラス名に ~ をつけた名前で戻り値を持たない特別な関数。 |
// データメンバ int power; int channel; int volume; public: // コンストラクタ。オブジェクト生成時に自動で呼ばれる Television(); // デストラクタ。オブジェクト消滅時に自動で呼ばれる ~Television(); // 状態取得用のメンバ関数 int getPower(); int getChannel(); int getVolume(); // 状態設定用のメンバ関数 void setPower(int p); void setChannel(int c); void setVolume(int v); // 状態表示用のメンバ関数 void printStatus(); |
#include <iostream> // コンストラクタ。オブジェクト生成時に自動で呼ばれる Television::Television() { power = 0; // 電源オフ channel = 1; // チャンネル1。首都圏では NHK volume = 0; // ボリューム0 } // デストラクタ。オブジェクト消滅時に自動で呼ばれる Television::~Television() { } // 値の取得用関数 (getter) 3つ int Television::getPower(){ return power; } int Television::getChannel(){ return channel; } int Television::getVolume(){ return volume; } // 値の設定用関数 (setter) 3つ void Television::setPower(int p){ power = p; } void Television::setChannel(int c){ channel = c; } void Television::setVolume(int v){ volume = v; } void Television::printStatus(){ if(power == 1){ std::cout << "電源はオンです。"; }else{ std::cout << "電源はオフです。\n"; return; // オフの場合はここから先へ進まず終了させる } std::cout << "チャンネルは" << channel << "です。"; std::cout << "ボリュームは" << volume << "です。\n"; } |
#include "Television.h" |
Television tv; // Television クラスの変数 tv を宣言 // クラスを「新しい型」として用いている // この時点でコンストラクタが呼ばれる tv.printStatus(); // 確認のために状態表示 tv.setPower(1); // 電源オン tv.setChannel(8); // 8チャンネルにセット tv.setVolume(10); // ボリュームを10に tv.printStatus(); tv.setChannel(4); // 4チャンネルにセット tv.printStatus(); |