小工具知识网

当前位置: 首页 > 行业知识 > 【C++】————类与对象(上)-基础知识

行业知识

【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 

上一篇:CRC32校验源码详解,原理、实现与实战应用指南

下一篇:苏皖怎么选择云服务器厂家?