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

C++类与对象--1 特性一:封装

C++面向对象三大特性:

        (1)封装;(2)继承;(3)多态;

C++认为万物皆是对象,对象上有对应的属性(数据)行为(方法)

1 特性一:封装

1.1 封装的意义

(1)将属性和行为作为一个整体,表现生活中的事物

const double PI = 3.141592;
​
class Circle
{private:double m_radius; // 属性--半径public:Circle(double r); // 构造函数,将圆的半径作为参数double calcPerimeter() // 方法--计算周长的{return 2*PI*m_radius;}
}

(2)将属性和行为加以权限控制

class Circle
{private:    // 成员 类内可以访问,类外不可以访问。继承关系中儿子不能访问父亲的私有内容。double m_1;public:     // 成员 类内可以访问,类外可以访问double m_2;protected:  // 成员 类内可以访问,类外不可以访问。继承关系中儿子可以访问父亲的保护内容。double m_3;
}

1.2 类class和结构体struct

唯一区别:结构体struct默认权限是公共的-->public,而类class默认权限是私有的-->private

struct c1
{int attr1; // 默认权限是公共的-->public
};
​
class c2
{int attr2; // 默认权限是私有的-->private
};

相关文章:

  • 深入浅出IIC协议 - 从总线原理到FPGA实战开发 -- 第一篇:I2C总线协议深度解剖
  • CentOS 下 FTP 与 NFS 服务深度解析:从基础配置到实战应用
  • 深度学习推理引擎---OpenVINO
  • Android核心系统服务:AMS、WMS、PMS 与 system_server 进程解析
  • 如何在纷杂的环境当中保持保持独立思考能力?
  • linux c++头文件生成源文件 使用python脚本 配置vim快捷键
  • Unity3D仿星露谷物语开发44之收集农作物
  • OAuth2.0
  • 6to4、6over4的类比解释
  • 使用tensorRT10部署低光照补偿模型
  • MySQL相关
  • [强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程
  • 支持selenium的chrome driver更新到136.0.7103.94
  • 【2025年软考中级】第一章1.6 安全性、可靠性、性能评价
  • Python爬虫实战:获取1688商品信息
  • 无需配置光猫,使用网管交换机配合路由器的IPTV功能实现单线复用
  • Uniapp开发鸿蒙应用时如何运行和调试项目
  • Kotlin与机器学习实战:Android端集成TensorFlow Lite全指南
  • 从神经架构到万物自动化的 AI 革命:解码深度学习驱动的智能自动化新范式
  • 人工智能100问☞第25问:什么是循环神经网络(RNN)?
  • 用贝多芬八首钢琴三重奏纪念风雨并肩20年
  • 词条数量大幅扩充,《辞海》第八版启动编纂
  • 受贿1.29亿余元,黑龙江省原副省长王一新被判无期
  • 我国城市规划“全面体检”套餐出台,城市体检将逐步与供地计划等挂钩
  • 新华时评:让医德医风建设为健康中国护航
  • 上海高院与上海妇联签协议,建立反家暴常态化联动协作机制