当前位置: 首页 > wzjs >正文

免费网站建站w二维码生成器小程序

免费网站建站w,二维码生成器小程序,办网站需要多少费用,外贸网站服务器选择在C中,public、private 和 protected 是用于控制类成员(变量和函数)访问权限的关键字。它们决定了类成员在代码中的可见性和可访问性。在学习时候,对于public是最容易理解的,对于private也好理解,但是对于p…

在C++中,publicprivate 和 protected 是用于控制类成员(变量和函数)访问权限的关键字。它们决定了类成员在代码中的可见性和可访问性。在学习时候,对于public是最容易理解的,对于private也好理解,但是对于protected总是会有混淆,整理如下;

以下是它们的详细规则和应用场景:

1. public(公有成员)

  • 规则

    • 公有成员可以在任何地方被访问,包括:

      • 类内部。

      • 类外部的代码(通过对象或指针)。

      • 派生类(子类)。

  • 示例

class MyClass {
public:int publicVar; // 公有变量void publicMethod() {// 可以在任何地方调用}
};int main() {MyClass obj;obj.publicVar = 10;       // 合法:外部直接访问obj.publicMethod();       // 合法:外部调用return 0;
}

2. private(私有成员)

  • 规则

    • 私有成员只能在类的内部或类的**友元(friend)**中访问。

    • 派生类无法直接访问基类的私有成员

  • 设计意义

    • 封装类的内部实现细节,防止外部直接修改关键数据。

    • 例如:类的内部状态、辅助工具函数等。

  • 示例

class MyClass {
private:int privateVar; // 私有变量void privateMethod() {// 只能在类内部或友元中调用}public:void setVar(int value) {privateVar = value;  // 合法:类内部访问私有成员}
};int main() {MyClass obj;// obj.privateVar = 10;    // 非法:外部无法访问私有成员// obj.privateMethod();    // 非法:外部无法调用私有方法obj.setVar(10);           // 合法:通过公有方法间接修改私有变量return 0;
}//下面考虑private修饰符,在子类的进一步示例
class MyClassChild public MyClass {public:void childSetVar(int value) {// privateVar = value;  // 非法,在子类中即便通过子类的自定义函数也无法访问setVar(value); // 合法,通过父类的方法可以访问private}
};

3. protected(保护成员)

  • 规则

    • 保护成员可以在类的内部友元以及派生类中访问。

    • 类外部的代码(非友元)无法直接访问

  • 设计意义

    • 允许派生类扩展基类的功能,同时保持对外的封装性。

    • 例如:基类中需要被子类重写的方法或需要被子类直接访问的数据。

  • 示例

class Base {
protected:int protectedVar; // 保护变量
};class Derived : public Base {
public:void modifyVar() {protectedVar = 20;  // 合法:派生类内部访问基类的保护成员}
};int main() {Derived obj;// obj.protectedVar = 10;  // 非法:外部无法直接访问保护成员obj.modifyVar();          // 合法:通过派生类的公有方法间接修改return 0;
}

4. 总结(不考虑友元场景)

  • public:开放接口,供所有代码使用。

  • private:完全封装,仅限制在声明变量的类内成员函数可以访问。

  • protected:半开放接口,对于子类成员函数开放;子类和基类的成员函数都可以访问

  • 继承方式决定了基类成员在派生类中的“可见性上限”。

  • 如果在BASE类中定义了一个变量;  再定义一个子类,子类中对于该变量访问规则如下

基类子类
public任何支持的语法进行访问任何支持的语法进行访问
private只有基类成员函数可以访问不可见,只能通过父类成员函数访问
protected只有基类成员函数可以访问可见,可以在子类的成员函数中进行访问;

http://www.dtcms.com/wzjs/784460.html

相关文章:

  • 手机网站类型英文服装商城网站建设
  • 石家庄做网站备案有哪些公司wordpress登录链接
  • 策划文案的网站门户网站ip地址段
  • 建站公司哪家好都选万维科技博客seo教程
  • 哪个网站可以免费设计房子ps网站首页怎么设计
  • 做教育的网站需要资质吗小程序开发源码
  • 同城的网站建设网络架构分层包括哪些
  • vps建设网站别人访问不了单页面网站模板
  • 广告模板在哪个网站好建设网站方法有哪些内容
  • 多个网站做计划制作音乐排行榜html5
  • 做网站 花时间php+mysql 2012也买酒商城网站源码
  • 新乡网站建设哪家优惠自己制作手机app软件
  • 新七建设集团有限公司网站手机开发者选项怎么打开
  • 站长推荐产品哪个网站可以做装修效果图
  • 做服装零售上什么网站网站首页的文字下拉怎么做
  • 青岛做网站的有哪些网站开发产品规划要求
  • 南昌网站忧化网站如何实现qq登录功能
  • 软件介绍网站源码移动网站建设价格
  • 备案 网站首页地址两学一做注册网站吗
  • 随州便宜做网站建教会网站的内容
  • 广州市住房建设部网站厦门同安建设局网站
  • 杭州做网站的公司也是网络品牌建设和推广的基础
  • 网站开发一般会使用框架吗html的制作网站的优点
  • 设计网站公司名称tk域名官方网站
  • 浙江公司网站建设推广网站怎么做地区屏蔽js
  • 深圳品牌网站设计公司价格做国学类网站合法吗
  • 国内十大网站建设网站建站报价单
  • 网站推广策划的策略优秀的个人网站
  • 手机网站建设事项浙江高端网站建设公司
  • 重庆公司网站seo建设网站预期效果怎么写