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

【深度C++】之“类与结构体”

0. 抽象数据类型

类(class)结构体(struct) 都是C++中的自定义数据类型,是使用C++实现面向对象编程思想的起点。

类的基本思想是数据抽象(data abstraction)封装(encapsulation)

数据抽象是一种依赖于接口(interface)实现(implementation) 分离的编程技术。类的接口包括用户所能执行的操作;类的实现则包括类的数据成员、负责接口实现的函数体以及类定义所需的各种私有函数。

封装实现了类的接口和实现的分离。封装后的类隐藏了它的实现细节,类的用户只能使用接口,无法看到实现。

因此也将结构体统称为抽象数据类型

因为类和结构体的区别,仅仅是默认访问权限的区别,所以以后只使用类来描述相关内容。

关于类,我们需要了解:

  1. 类的声明&定义
  2. 成员数据
  3. 成员函数
  4. 访问控制(类与结构体的区别)
  5. 类的初始化——构造函数
  6. 类的拷贝、赋值
  7. 类的移动
  8. 类的销毁——析构函数
  9. 类的其他特性
  10. 运算符重载

1. 类的声明&定义

声明一个类,相当于声明一种新的类型。

class MyClass;

上述代码告诉编译器我有一个自定义数据类型,类型名是MyClass

定义一个类,我们要定义类的成员。类的成员包括三类:

  1. 类型成员
  2. 数据成员,或成员数据
  3. 成员函数

通常将类的定义写在.h文件中:

// MyClass.h#ifndef MY_CLASS_H
#define MY_CLASS_Hclass MyClass {
public:using Pos = unsigned int;
private:// 数据成员int i;char c;
public:// 类的成员函数void print();
};#endif // MY_CLASS_H
http://www.lryc.cn/news/380267.html

相关文章:

  • CTO的职责是什么?
  • 【GD32】从零开始学兆易创新32位微处理器——RTC实时时钟+日历例程
  • HTTP网络协议
  • Kubernetes相关生态
  • C语言入门4-函数和程序结构
  • 分行业二氧化碳排放数据
  • 【OS基础】符合AUTOSAR标准的RTAOS-Alarms详解
  • 基于Java的学生成绩管理系统
  • 都2024年了,还有人不懂动态代理么?
  • ARM功耗管理框架之PPU
  • 说说 SSL 的错误认识和不足之处
  • Go语言day1
  • 【Python机器学习】利用t-SNE进行流形学习
  • 03 - matlab m_map地学绘图工具基础函数 - 设置坐标系(m_coord)
  • UEC++ 虚幻5第三人称射击游戏(一)
  • java小代码(1)
  • SLAM ORB-SLAM2(27)词袋模型
  • OpenAI 的 GPT-5:CTO米拉-穆拉提说,到 2026 年将实现博士级智能(Ph.D.-Level))
  • macbook配置adb环境和用adb操作安卓手机
  • 微软TTS最新模型,发布9种更真实的AI语音
  • python爬虫 -爬取 json 格式数据
  • Pytorch(5)-----梯度计算
  • C#的膨胀之路:创新还是灭亡
  • SpringBoot 过滤器和拦截器的区别
  • 协程执行顺序引发的问题
  • android webview调用js滚动到指定位置
  • WPF 深入理解一、基础知识介绍
  • 腾讯云点播ugc upload | lack signature 问题处理
  • 计算机视觉实验二:基于支持向量机和随机森林的分类(Part one: 编程实现基于支持向量机的人脸识别分类 )
  • 5.什么是C语言