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

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.xdnf.cn/news/6888.html

相关文章:

  • vue.js 更新数据时,出现数据更新,界面没有更新的情况【普通对象,不包含数组】
  • NBA足球赛事直播源码体育直播M33模板赛事源码
  • B站锁定三倍速(自用)
  • Dubbo:Docker部署Zookeeper、Dubbo Admin的详细教程和SpringBoot整合Dubbo的实战与演练
  • gem5-gpu教程 第十章 关于topology 的Mesh network
  • USB基础知识
  • Selenium测试框架快速搭建
  • 多模态学习( 二 )——Token与Embedding的区别:从文本到向量空间的旅程
  • 手动实现 Transformer 模型
  • QT+EtherCAT 主站协议库—SOEM主站
  • 什么是差分传输?
  • 免费代理IP服务有哪些隐患?如何安全使用?
  • 智力题整理汇总版
  • 高频面试题(含笔试高频算法整理)基本总结回顾61
  • 浅谈前端架构设计与工程化
  • 【降维】t-SNE
  • 腾讯 CodeBuddy 杀入 AI 编程赛道,能否撼动海外工具霸主地位?
  • 力扣-283-移动零
  • 中文分词与数据可视化01
  • 板对板连接器极限测试:振动、温差与盐雾三重挑战下的生存实录
  • 我的世界模组开发——特征(2)
  • 【Linux内核】设备驱动之块设备介绍
  • 连续赋值?多变量初始化?变量初始化?赋值运算符?
  • Kotlin 作用域函数(let、run、with、apply、also)对比
  • OCC笔记:Brep格式
  • 文章记单词 | 第94篇(六级)
  • Java 面向对象进阶:抽象类与接口的舞蹈
  • 基于C语言的歌曲调性检测技术解析
  • TTS:F5-TTS 带有 ConvNeXt V2 的扩散变换器
  • bitmap/hyperloglog/GEO详解与案例实战