C++类中public、private、protected的区别

FFmpeg HDR视频转SDR视频命令 之前蓝光盘电影多是AVC 1080p 8bit SDR格式视频,近两年4K电影流行,下载的蓝光电影多是HEVC 2160p 10bit HDR视频格式。 ffprobe查看有如下属性: # 10bit HDR Stream #0:0(eng): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 阅读详情

在C++中,public、private 和 protected 是访问控制关键字,用于定义类成员的可访问性。这些关键字决定了类的成员对外部代码的可见性和访问权限。

以下是它们的区别:

  1. public:

    • public 成员在类的外部和内部均可访问。
    • 在类的外部,可以通过对象或指针直接访问 public 成员。
    • 在类的内部,可以直接访问 public 成员。
    class MyClass {
    public:
        int publicMember;
    };
    
    MyClass obj;
    obj.publicMember = 42;  // 合法
    
  2. private:

    • private 成员只能在类的内部访问,外部代码无法直接访问。
    • 类的外部需要通过公共成员函数或友元函数来间接访问 private 成员。
    class MyClass {
    private:
        int privateMember;
    
    public:
        void setPrivateMember(int value) {
            privateMember = value;
        }
    };
    
    MyClass obj;
    obj.setPrivateMember(42);  // 合法,通过公共成员函数访问 private 成员
    
  3. protected:

    • protected 成员类似于 private 成员,但对于派生类而言,protected 成员在派生类中可访问。
    • 外部代码仍然不能直接访问 protected 成员,而派生类可以通过继承访问。
    class BaseClass {
    protected:
        int protectedMember;
    };
    
    class DerivedClass : public BaseClass {
    public:
        void setProtectedMember(int value) {
            protectedMember = value;  // 合法,在派生类中可以访问 protected 成员
        }
    };
    
    DerivedClass obj;
    obj.setProtectedMember(42);  // 合法
    

总结:

  • public 成员对外可见,可以在类的内外直接访问。
  • private 成员只能在类的内部访问,外部代码需要通过公共成员函数或友元函数访问。
  • protected 成员类似于 private,但对于派生类而言是可访问的。
[QMT和ptrade量化交易小白入门]-109、小市值选股的基础上用六脉神剑评分,回测年化可到132% 本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。 阅读详情

相关推荐

Ubuntu20.04安装Ceres库

ceres真难安装。

little_white138的博客 8379

C++类关键字public、protected、private的区别

1. private,public,protected的访问范围: private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能直接访问; protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象直接访问; public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问 注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数。 2.类的继承后方法属性变化: 使用private继承,父类的所有方.

给你一颗小瓜子的博客 2165

从Multibit到Debanking:芯片设计中的时序优化完整流程解析(含真实案例)

本文深入解析芯片设计中Multibit技术与Debanking的时序优化完整流程,结合7nm移动SoC真实案例,详细探讨Multibit的核心优势、实施条件及潜在风险,并提供Debanking的触发时机与操作策略。通过平衡Multibit与Debanking,工程师可有效优化PPA(Power-Performance-Area),提升芯片设计效率。

weixin_30316097的博客 460

C++类中的public、protected、private的区别

在C++中,类的成员(包括数据成员和成员函数)可以通过访问说明符(access specifiers)来指定它们的访问级别。在类定义中,访问说明符可以多次出现,它们定义了不同的访问区域。成员的访问级别由它声明时所在的访问区域决定。这些访问说明符决定了类的成员可以被谁访问。的公共和保护成员,但不能访问私有成员。可以访问保护和私有成员,而。

小灰灰的博客 549

LAMMPS实战:如何用ReaxFF力场模拟碳氢化合物热解(附完整脚本)

本文提供了一份使用LAMMPS软件中ReaxFF反应力场模拟碳氢化合物热解过程的完整实战指南。内容涵盖从环境准备、力场参数选择、能量最小化,到升温恒温动力学模拟的完整脚本编写,并介绍了基于轨迹文件的产物分析方法,帮助计算化学与材料科学研究者快速上手这一关键的分子动力学仿真技术。

soda5的博客 1099

本地AI助手部署指南:DeepSeek Harness与Ollama集成实践

AI Agent作为当前人工智能领域的热门技术,通过模拟人类决策过程,能够自主规划、调用工具并执行复杂任务。其核心原理在于将大语言模型的推理能力与外部工具API相结合,形成可闭环的工作流。这种技术架构的价值在于显著提升了AI系统的实用性和自动化水平,使其从单纯的对话工具转变为能够解决实际问题的智能助手。在应用场景上,AI Agent广泛应用于代码生成、数据分析、自动化办公等领域。本文聚焦于如何通过DeepSeek Harness平台与Ollama本地模型的集成,实现隐私安全、离线可用的AI助手部署方案,特别

dengjuanshou7445的博客 474

c++类中public,private,protected的用法与区别

1、public修饰的成员变量 在程序的任何地方都可以被访问,就是公共变量的意思,不需要通过成员函数就可以由类的实例直接访问 2、private修饰的成员变量 只有类内可直接访问,私有的,类的实例要通过成员函数才可以访问,这个可以起到信息隐藏 3、protected是受保护变量 类内和子类可直接访问,也就是说,基类中有protected成员,子类继承于基类,那么也可以访问基类的protected成...

Alexin_lza的博客 5462

【Matlab光伏功率预测】基于GRU门控循环单元的光伏功率时间序列预测(附MATLAB代码)

【Matlab光伏功率预测】基于GRU门控循环单元的光伏功率时间序列预测(附MATLAB代码)

k8291121的博客 1100

C++ 类关键字public、protected、private区别

C++,public、protected、private,简短总结: 1、public:类内、类的对象;派生类内、派生类对象--->>均可访问。 2、protected:类内、派生类内--->>可以访问;类的对象、派生类的对象不可访问。 3、private:只有类内部可见;类的对象、派生类、派生类的对象,统统的不可见。

junlon2006的博客 5580

【Bug已解决】openclaw command not found / openclaw not installed — OpenClaw CLI 安装失败解决方案

安装 OpenClaw 后命令未找到或运行失败,本质是 PATH 未配置或 Python 版本不兼容。文中给出修复 PATH、使用虚拟环境、检查 Python 版本、pipx 安装等完整方案。

一键难忘的博客 8065

【unity实战】Spline 插件让物体沿路径 “丝滑” 走位,实现火车沿轨道移动——Spline 插件的使用

Unity Spline系统教程:实现火车轨道移动 摘要:本文介绍了Unity Spline系统的核心功能与实战应用,通过火车轨道移动案例演示了完整开发流程。内容包括:1)安装Spline包并绘制样条线轨道;2)调整样条节点和曲线弧度;3)使用Spline Instantiate组件实例化轨道模型;4)通过Spline Animate组件实现小车自动沿轨移动;5)补充讲解了轨道闭合、分支节点、循环模式等进阶技巧。该系统可用于创建河流、摄像机路径等多种曲线应用,文中提供了官方文档链接和详细操作步骤,适合Uni

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1828

区别C++类的public,private,protected

首先我们要先知道什么是“类”,简单来讲,类是一个包含函数的结构体,类的定义和结构类型的定义相似,其格式如下:       class 类名             {                    public:                            共有数据成员或共有函数成员的定义;                    protected:        

u012364783的专栏 440

多模型动态路由(Fusion):从“算力霸权”到“架构分权”的工程范式转型

多模型动态路由(Multi-Model Dynamic Routing)是指在多个大语言模型之间,根据请求特征、资源约束和业务目标,动态选择最优模型或模型组合的技术范式。传统网关擅长管理请求流量,但不理解“任务类型”。而AI路由层需要对每个请求进行语义理解、能力匹配和成本评估。从“算力霸权”到“架构分权”,这不是技术的线性演进,而是工程范式的根本转型。过去三年,开发者的核心能力是“选对模型”——在GPT、Claude、Gemini之间做出正确选择。

ZDQ58818的博客 74

C++ 定义类时public、private、protected成员的区别

1.public 这个好说,如果一个成员被定义为public,则该成员对于该类、该类的对象、继承类、继承类的 对象都是可见的。 2.private 如果一个成员被定义为private,则该成员只是对于该类可见,对于该类的对象、继承类、继承类 的对象都是不可见的,即不可直接访问的。 3.protected 如果一个成员被定义为protected,则该成员对于该类、继承类是可见的,对于该

znd8866的专栏 1852

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

abstract类中不可以有private的成员_C++中public、protected、private的区别

1、访问范围private:只能由该类的成员函数、友元的成员函数访问,不能被其他类的成员函数访问,即使是该类的对象也不能直接访问protected:可以被该类中的成员函数访问、子类中的成员函数访问、友元中的成员函数访问,但是不能被该类的对象访问public:可以被该类的成员函数、友元的成员函数、子类的成员函数访问,也可以被自己类的对象访问2、三种继承方式与属性变化class 使用private继承...

weixin_39822923的博客 382

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

FPGA编译加速实战:从13小时到5小时的优化全记录

在数字集成电路设计领域,FPGA编译(Compilation)和布局布线(Place & Route)是决定开发效率的核心环节。随着工程规模扩大,大型FPGA设计的编译时间往往呈指数级增长,尤其在使用Vivado等EDA工具时,综合(Synthesis)、布局(Placement)和布线(Routing)阶段可能耗费数小时乃至十多小时,严重拖慢迭代节奏。本文从编译慢的根因出发,拆解了FPGA工程中影响性能的关键因素——资源利用率、跨SLR路径、约束复杂度以及工具策略。通过合理的Vivado配置、增量编译(I

weixin_34068198的博客 456

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C++类中public、protected和private在访问权限上的区别,和继承之后的访问权限

C++类中public、protected和private在访问权限上的区别: public是这个程序的每一处都能访问,无论是在本类内还本类外 protected则是在本类内和友类,子类中才能访问 private则只能在本类内才能访问,其它地方则不能 继承之后的访问权限: ...

kuanyew的博客 455

C++中public,protected,private的区别

C++中关于public、protect、private的访问权限控制(实例)

ken2232的博客 9983

c++中类的三种访问权限的区别:公有(public)、私有(private)和保护(protected)

公有(public):任何地方都可以访问,包括类的外部和派生类。私有(private):只有类的成员函数可以访问,外部代码无法直接访问。保护(protected):只有类的成员函数和派生类可以访问,外部代码无法直接访问。

weixin_46683759的博客 3214

C++类详解(public、private、protected)

二、C++类的声明   类使用class关键字声明,声明方法如下: class 类名: { public://公有成员 int num; private:私有成员 int age; protected:保护成员 int sex; }; 三、类的属性public、private和protected 类的public成员可以被任意实体访问,你可以认为它就是c语言中的struct结构体,可以直接用a.x这种形式访问; 类的private成员不能直接

weixin_39270987的博客 2万+

C++中public、protected、private的区别和组合结果

C++中public、protected、private的区别 C++ protected 访问控制 对于外部世界来说,关键字protected和private相似,即在类外部只能通过公有方法访问, 而对于该保护成员所在类的派生类,其性质和public相似,可以在派生类中直接访问。 第一: private,public,protected的访问范围: private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问. protected: 可以被该类中的函数、子..

thanklife的专栏 725

c++和java中的public,protected,private

C++中public,protected,private访问[zz] 第一:private, public, protected 访问标号的访问范围 private:只能由1.该类中的函数、2.其友元函数访问。 不能被任何其他访问,该类的对象也不能访问。 protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。 但不能被该类的对象访问。 public:可以被

huabuduo的专栏 429

public、protect、private继承方式 C++

public公有继承 protected保护继承 private私有继承我们知道类的private和protected成员,在类外是不可以使用的.只有public成员可以在类外直接使用.公有继承时,基类的private成员派生类也不可用,基类的public和protected成员在派生类中可直接使用.继承过来(变成派生类相应的public和protected成员)只有public成员在派生类外可

1246

C++类和对象(1):封装--权限用法(private/public/protected)、class与struct的区别

C++面向对象的三大特性为:封装、继承、多态; C++认为万事万物皆为对象,对象上有其属性和行为; 封装——C++面向对象三大特性之一; 封装意义: 将属性和行为作为一个整体,表现生活中的事物; 将属性和行为加以权限控制; ...

IT_JS_tao的博客 488

C++类的访问权限:public、private、protected

继承方式基类成员特性派生类成员特性派生类对象访问publicpublicpublic可以直接访问publicprotectedprotected不可以直接访问publicprivateprivate不可以直接访问protectedpublicprotected不可以直接访问protectedprotectedprotected不可以直接访问protectedprivateprivate不可以直接访问privatepublicprivate。

Dream_No_More的博客 780

c++ protected,private.public

转自:https://stackoverflow.com/questions/224966/private-and-protected-members-c Publicmembers of a class A are accessible for all and everyone. Protectedmembers of a class A are not accessible ou...

DXT的博客 191
上一篇: Josn与JsonArray
下一篇: Qt的Graphics View Framework
?John.
博客等级 码龄7年 60粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值