{
public:
int a;
private:
int b;
protected:
int c;
};
//
// public inheritance:
// - data access type not change
// - B cannot access A's private member
//
class B: public A
{
public:
void test()
{
a = 1;
//b = 1; //Fail
c = 1;
}
};
//
// protected inheritance:
// - data access type: public -> protected
// - C cannot access A's private member
//
class C: protected A
{
public:
void test()
{
a = 1;
//b = 1; //Fail
c = 1;
}
};
//
// private inheritance:
// - data access type: public , protected -> private
// - D cannot access A's private member
//
class D: private A
{
public:
void test()
{
a = 1;
//b = 1; //Fail
c = 1;
}
};
class E: public C
{
public:
void test()
{
a = 1;
//b = 1;
c = 1;
}
};
class F: public D
{
void test()
{
//a = 1;
//b = 1;
//c = 1;
}
};
int main()
{
{
B b;
b.test();
b.a = 1;
//b.b = 1;
//b.c = 1;
}
{
C b;
b.test();
//b.a = 1;
//b.b = 1;
//b.c = 1;
}
{
D b;
b.test();
//b.a = 1;
//b.b = 1;
//b.c = 1;
}
{
E b;
b.test();
//b.a = 1;
//b.b = 1;
//b.c = 1;
}
}
原文链接: https://www.cnblogs.com/cutepig/archive/2011/02/17/1956808.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/21116
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!