• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

对c++public、protected、private关键字的理解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

首先要明确一下:

1.这三个关键字在两种地方会用到,一个是对类的成员变量和成员函数修饰时(比如私有的成员变量,受保护的成员变量·,公有的函数),还有一种是对继承方式的修饰(比如公有继承,保护继承)。

2.这三个关键字在对成员变量或成员函数修饰时表示外部(与内部相对,若一个类包括一个.h文件和.cpp文件,出了这两个文件就是外部了)对该成员的访问权限。在内部的话显然都是可以访问的

下面我将举一个例子在说明这些关键字的运用和理解:

class A

{

public:

  A();

  ~A();

  void funA();

private:

  void funB();

public:

  int a;

protected:

  int b;

private:

  int c;

};

先仔细看清楚外部(由该类在其他地方实例化的对象也属于外部,私有的和受保护的也不能访问)在访问该类各个成员变量和成员函数的访问权限,public修饰的都可以访问,private和protected修饰的不可以访问。

接下来是跟继承联系起来(这在C++)开发中是不可避免的:

class B : public A(公有继承)

{

public:

  B();

  ~B();

private:

  int d;

}

这个时候,在B类内部,可以访问到A类的public成员和protected成员,其private成员不可访问,但是并不意味着A类的private成员不可继承,当你实例化B类对象的时候,其对象内存结构里也会有A类的private成员。

说说protected这个关键字的事吧!

其实private和public在修饰上已经很全面了,但是由于继承的关系,protected出现了。

父类的某个成员变量不想让外部访问,可以用private修饰,但是这样的话子类也就无法访问该成员变量,为了同时满足这两种需求,protected关键字应运而生。

protected关键字存在的意义,就在于可以让父类的protected成员既不能被外部访问,但又能被子类(内部)来访问。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap