剖析【C++】——类与对象(上)超详解——小白篇
目录
1.面向过程和面向对象的初步认识
1.面向过程(Procedural Programming)
2.面向对象(Object-Oriented Programming)
概念:
特点:
总结
2.C++ 类的引入
1.从 C 语言的结构体到 C++ 的类
2.C++ 中的结构体和类
3.使用类来替代结构体
4.总结
3.类的定义
1.什么是类?
2.如何定义一个类?
类的成员
示例 1:简单的类定义
3.两种类的定义方式
1.全部在类体中
2.分开声明和定义
4.总结
4.C++ 类的访问限定符及封装
1.访问限定符
1.访问限定符有三种:
2.注意:
2.C++ 中 struct 和 class 的区别
3.封装
1.封装的优势:
5.总结
5.类的作用域
1.作用域和作用域操作符
示例:
2.在类体外定义成员函数
Step 1: 类声明
Step 2: 类体外定义成员函数
Step 3: 使用类
3.总结
6.类的实例化
1. 类是一个描述
2. 类的实例化
3. 类与对象的类比
4.总结
7.类对象模型
7.1 如何计算类对象的大小
7.2 类对象的存储方式
7.3 结构体内存对齐规则
7.4面试题
8.C++ 类成员函数的 this 指针
8.1 this 指针的引出
8.2 this 指针的特性
8.3面试题
8.4 C 语言和 C++ 实现 Stack 的对比
1. C 语言实现 Stack
2. C++ 实现 Stack
8.5总结
1.面向过程和面向对象的初步认识
1.面向过程(Procedural Programming)
面向过程是一种编程范式,它主要关注程序的执行过程和步骤。程序员通过将问题分解为一个个具体的步骤和函数,逐步解决问题。面向过程的编程语言强调函数的调用和顺序的执行。
特点:
- 函数为中心:程序的逻辑是通过调用函数来实现的,每个函数执行特定的任务。
- 步骤明确:分析问题并明确解决步骤,通过函数逐步实现这些步骤。
- 数据和操作分离:数据和操作通常是分离的,通过函数来操作数据。
示例语言:
- C语言
- Pascal
示例代码(C语言):
#include // 函数定义 void greet() { printf("Hello, World!\n"); } int main() { // 调用函数 greet(); return 0; }
在这个例子中,我们定义了一个叫做 greet 的函数,这个函数打印问候语。main 函数调用 greet 函数来实现问候。
2.面向对象(Object-Oriented Programming)
概念:
- 面向对象是一种编程方法,关注的是对象和对象之间的交互。我们把问题拆分成一个个对象,然后通过这些对象之间的合作来解决问题。
- 比如管理一家餐厅,我们有服务员对象、厨师对象、顾客对象,每个对象有自己的职责,他们之间的互动完成了餐厅的运作。
特点:
- 对象:把现实中的事物抽象成程序中的对象,每个对象都有属性和方法。
- 交互:对象之间通过方法相互协作完成任务。
示例语言:
- C++
简单示例(C++):
#include using namespace std; // 定义一个叫做 Person 的类 class Person { public: // 类的属性 string name; // 类的方法 void greet() { cout
- C++