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

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
};

http://www.lryc.cn/news/2378278.html

相关文章:

  • Linux:计算机的层状结构
  • 【SpringBoot】关于MP使用中配置了数据库表前缀的问题
  • AI 赋能防艾宣传:从创意到实践,我的 IP 形象设计之旅
  • Redis 事务与管道:原理、区别与应用实践
  • 每日算法刷题Day9 5.17:leetcode定长滑动窗口3道题,用时1h
  • 手机打电话时如何将通话对方的声音在手机上识别成文字
  • 重排序模型解读:gte-multilingual-reranker-base 首个GTE系列重排模型诞生
  • C++学习:六个月从基础到就业——C++11/14:列表初始化
  • SQL语句执行问题
  • 2025系统架构师---选择题知识点(押题)
  • flutter flutter run 运行项目卡在Running Gradle task ‘assembleDebug‘...
  • P5682 [CSP-J2019 江西] 次大值
  • Elasticsearch 性能优化面试宝典
  • 【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理2
  • 无监督学习在医疗AI领域的前沿:多模态整合、疾病亚型发现与异常检测
  • 计算机操作系统概要
  • C语言进阶-数组和函数
  • 图片通过滑块小图切换大图放大镜效果显示(Vue3)
  • [SSL]1Panel添加阿里云DNS账户
  • C语言编程中的时间处理
  • 计算机网络 : 网络基础
  • C++跨平台开发:突破不同平台的技术密码
  • 实现 STM32 PWM 输出:原理、配置与应用详解
  • Web 架构之负载均衡会话保持
  • 第一次做逆向
  • 【Linux网络】传输层协议TCP
  • AAAI-2025 | 中科院无人机导航新突破!FELA:基于细粒度对齐的无人机视觉对话导航
  • 排序算法之基础排序:冒泡,选择,插入排序详解
  • Linux常用命令42——tar压缩和解压缩文件
  • 网络协议分析 实验七 FTP、HTTP、DHCP