首页 > 编程语言 > 详细

C++继承易忘点

时间:2016-03-20 16:12:04      阅读:218      评论:0      收藏:0      [点我收藏+]

三种继承的特点

Public:继承时保持基类中各成员的属性不变,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;

Private:继承时基类中各成员属性均变为private,并且基类中的private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员;

Protected:继承时基类中各成员属性均变为protected,并且基类中private被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;

 

访问控制与继承

和私有成员类似,受保护的成员对于类的用户来说是不可访问的。

和公有成员类似,受保护的成员对于派生类和友元来说是可访问的。此外,protected还有一条重要地性质。

派生类的成员或友元只能通过派生类对象来访问基类的受保护成员。派生类对于一个基类对象中的受保护成员没有任何访问特权。

 

这里的访问控制仅仅是针对成员函数的参数是类的引用的形式:

例:

class Base
{
protected:
int prot_mem;
};
class Sneaky : public Base
{
public:
friend void clobber(Sneaky&);
friend void clobber(Base&);
int j;
};

void Sneaky::clobber(Sneaky &s) { s.j = s.prot_mem = 0;}
void Sneaky::clobber(Base &s) { b.port_mem = 0;}

C++继承易忘点

原文:http://www.cnblogs.com/xiaodukuko/p/5297843.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!