C++でクラスの継承
「クラスの継承」の勉強のために簡単な例を試してみました。
やりたいことはmbedのキャラクタLCDを制御するTextLCDの拡張。標準では画面のクリアと言ったら全画面クリアしかありませんでしたが、1行目と2行目を個別にクリアする関数を試しに追加してみることにしました。
ちょこちょこ調べながら書いたらこんな感じに。
class extendTextLCD : public TextLCD { private: public: // constructor extendTextLCD(PinName p1, PinName p2, PinName p3, PinName p4, PinName p5, PinName p6) : TextLCD(p1, p2, p3, p4, p5, p6) { } // clsUp void clsUp(void) { locate(0, 0); printf(" "); locate(0, 0); } // clsDown void clsDown(void) { locate(0, 1); printf(" "); locate(0, 1); } };
これでclsUp()とclsDown()で1行目2行目をクリアする関数を追加しつつ、従来のprintf()やlocate()、cls()も使えるようなクラスができました。