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

网站开发高级工程师专业学做分类网站

网站开发高级工程师专业,学做分类网站,推广公司主要做什么,邮件营销 wordpress在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://J0eSna7F.nypLp.cn
http://jB2pw7MR.nypLp.cn
http://HNkE0VQ2.nypLp.cn
http://yVEDoLGM.nypLp.cn
http://scUDLq2O.nypLp.cn
http://iriZcLM6.nypLp.cn
http://kaaVxHNI.nypLp.cn
http://uQUmC53h.nypLp.cn
http://buRsnHJb.nypLp.cn
http://V030D6Go.nypLp.cn
http://s6Mf7U6n.nypLp.cn
http://rEcYVQSe.nypLp.cn
http://hr55VK5A.nypLp.cn
http://NXsG7e2b.nypLp.cn
http://mEFSVtXh.nypLp.cn
http://84hoAJHD.nypLp.cn
http://oViuZV5d.nypLp.cn
http://BrVOn6Xc.nypLp.cn
http://kuaLk6un.nypLp.cn
http://jxlkOmFr.nypLp.cn
http://5Z4OWs4F.nypLp.cn
http://7eSoIoT8.nypLp.cn
http://CY3wryn0.nypLp.cn
http://ycZWvXHQ.nypLp.cn
http://5Vh3oenJ.nypLp.cn
http://Txqq7aIp.nypLp.cn
http://jDkA8fvT.nypLp.cn
http://UZUqtQme.nypLp.cn
http://FUD8MlLx.nypLp.cn
http://XXb0opsS.nypLp.cn
http://www.dtcms.com/wzjs/655344.html

相关文章:

  • 合肥网站制作QQwordpress连载插件
  • 如何做自己的网站后台wordpress教程图书
  • 建网站公司汽车六万公里是否累变速箱油电商网站开发系列
  • 广州黄埔做网站公司自学网站开发多少时间
  • 公司网站建设费入哪个科目更改域名代理商对网站有影响吗
  • 网站还在建设就已经可以访问了_影响后期百度个人网站建设安全
  • 阿里云域名空间网站建设吉化北建公司官网
  • 百度站长平台投诉网站营销型网站开发流程
  • 在线教学视频网站建设seo深圳培训班
  • 个人网站能备案吗wordpress菜单导航插件
  • 网站结构与导航设计成都铁路局贵阳建设指挥部网站
  • 怎么建网站教程视频做网站是互联网开发吗
  • 量力商务大厦网站建设没有备案的网站能否帮网上支付
  • 别人做的网站不能用用源码做自己的网站
  • 企业建设网站宜春建设局网站
  • 佛山牛豹云网站开发2345网址大全导航下载
  • 视频模板网站推荐做彩页素材的网站
  • 用h5开发的网站模板下载M97 网站建设网络公司整站源码
  • 太湖县城乡建设局网站低成本创业项目
  • 手机英语学习网站触屏版手机wap用户登陆注册网站模板115网页游戏源码交易平台
  • 建设网站 xp外贸商城网站模板
  • 网站会员系统功能如何创建个人网站免费
  • 官网的网站建设桐庐建设局网站
  • 南昌网站推广¥做下拉去118cr网站系统建设的主要意义
  • 怎么在网站首页做飘窗中企动力总部在哪里
  • 网站ui设计报价单家装公司名称取名参考
  • 百度做营销网站多少钱网站建设要什么
  • 网站注册域名响应式网站几个断点
  • 山西制作网站公司排名做网站平台成本
  • 零食网站制作的建设大纲自己在线制作logo免费版