キリン類の動物類への継承(protected継承)
1595 ワード
01./*
02.* :
03.* Copyright (c) 2011,
04.* All rights reserved.
05.* :test.cpp
06.* :
07.* :2014 05 17
08.* :v1.0
09.* :
10.* :
11.* :
12.* :
13.* :
14.* :
15.*/
#include <iostream>
using namespace std;
class Animal
{
public:
Animal() {}
void eat()
{
cout << "eat
";
}
protected:
void play()
{
cout << "play
";
}
private:
void drink()
{
cout << "drink
";
}
};
class Giraffe: protected Animal
{
public:
Giraffe() {}
void StrechNeck()
{
cout << "Strech neck
";
}
void take()
{
eat(); // , , _______________
drink(); // , , ________________
play(); // , , ________________
}
};
int main()
{
Giraffe gir;
gir.eat(); // , ,Giraffe _______________
gir.play(); // _ , ,Giraffe _______________
gir.drink(); // , ,Giraffe ________________
return 0;
}
共有継承の下で、ベースクラスの共有メンバーはアクセスでき、プライベートメンバーはアクセスできません.保護メンバーは派生クラス内でアクセスでき、クラス外でアクセスできません.
プライベート継承では、ベースクラスの共有メンバーはアクセスできます.プライベートメンバーはアクセスできません.保護メンバーは派生クラス内でアクセスできます.クラス外ではアクセスできませんが、派生クラスのメンバーはクラス外では呼び出せません.
保護継承の下で、ベースクラスの共有メンバーはアクセスでき、プライベートメンバーはアクセスできません.保護メンバーは派生クラス内でアクセスできます.クラス外ではアクセスできませんが、派生クラスのメンバーはクラス外では呼び出せません.