| テレビクラス |
|
電源の状態 現在のチャンネル 現在の音量 |
|
電源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(); |