行业知识
【C++】————类与对象(上)-基础知识
2026-11-04 15:09:52
来源:互联网转载
目录
1.面向过程和面向对象初步认识
2.类的引入
3.类的定义
类的两种定义方式:
成员变量命名规则的建议:
4.类的访问限定符及封装
4.1 访问限定符
编辑
【面试题】问题:C++中struct和class的区别是什么?
4.2 封装
【面试题】
5.类的作用域
6.类的实例化
用类类型创建对象的过程,称为类的实例化
7.类的对象大小的计算
7.1 如何计算类对象的大小
7.2 类对象的存储方式猜测
7.3 结构体内存对齐规则
【面试题】
8.类成员函数的this指针
8.1 this指针的引出
8.2 this指针的特性
【面试题】
8.3. C语言和C++实现Stack的对比
1. C语言实现
2. C++实现
1.面向过程和面向对象初步认识
C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。
C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完
成。
2.类的引入
C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如:
之前在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;现在以C++方式实现,
会发现struct中也可以定义函数。
typedef int DataType;struct Stack{void Init(size_t capacity){_array = (DataType*)malloc(sizeof(DataType) * capacity);if (nullptr == _array){perror("malloc申请空间失败");return;}_capacity = capacity;_size = 0;}void Push(const DataType& data){// 扩容_array[_size] = data;++_size;}DataType Top(){return _array[_size - 1];}void Destroy(){if (_array){free(_array);_array = nullptr;_capacity = 0;_size = 0;}}DataType* _array;size_t _capacity;size_t _size;};int main(){Stack s;s.Init(10);s.Push(1);s.Push(2);s.Push(3);cout