カレンダー
| 10 | 2025/11 | 12 |
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
最新記事
(01/30)
(01/18)
(12/16)
(12/12)
(11/25)
(11/25)
(11/24)
(11/24)
(11/22)
(11/17)
最新コメント
[12/25 日没]
[11/15 無色大師]
[11/12 無色大師]
[11/11 無色大師]
[11/08 無色大師]
リンク
新刊カレンダー
ブログ内検索
プロフィール
HN:
Nina.A
性別:
男性
趣味:
麻雀、ラノベ、漫画
自己紹介:
MJ4や天鳳等でよく麻雀やってます。もし会ったらよろしくです。
ブログは単なるメモ帳となる予定。
ブログは単なるメモ帳となる予定。
カウンタ
C/C++勉強中の大学生雑記
2025/11/14
08:32:56
2008/11/24
04:13:56
クラスの継承について、最初に本で読んだときによく分からずじまいだった。しかも、その後、クラスの継承を使うこともなくここまできてしまった。今回ちょっと使おうかなと思ったので改めて本を読んでみたが、やはりよく分からない。ということでプログラムを作っていろいろやってみた。
今回は適当に以下のようなクラスを使ってみた。
class Dimension1{
private:
int x;
void privateSet(int a){
x = a;
}
protected:
void protectedSet(int a){
x = a;
}
public:
void publicSet(int a){
x = a;
}
int getX(){
return x;
}
};
class Dimension2 : public Dimension1{
private:
int y;
protected:
public:
void set(int a, int b){
publicSet(a);
// protectedSet(a);
// privateSet(a);
y = b;
}
int getY(){
return y;
}
};
クラスの継承というのは、他のクラスを内包するようなクラスを作ることである。内包されているクラスを基本クラス、内包しているクラスを派生クラスという。
図:クラスの継承の概要
クラスの継承は以下のように記述する。
class Dimension2 : public Dimension1{};
クラスのメンバのアクセス制御と同様に、クラスの継承にもprivateな継承、protectedな継承、publicな継承がある。上記の継承はpublicな継承である。privateな継承は以下のように記述する。
class Dimension2 : private Dimension1{};
派生クラスのメンバ関数からは、基本クラスのprotectedなメンバ、およびpublicなメンバにアクセスできる。これは継承の種類によらない。
一方、派生クラス外からの基本クラスのメンバ関数へのアクセスは、継承の種類によってさらに制限される。
図・privateな継承
図・protectedな継承
図・publicな継承
いろいろ書いたけどあってんのかな? 次もクラスの継承を少し書く予定。
PR
この記事にコメントする
