目录
面向过程
C语言 是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用来逐步解决问题
举例说明:
比如说洗衣服,从 C语言 的面向过程的角度来说,关注的是洗衣服的这个过程
比如:拿个篮子->放水->放衣服->放洗衣粉………………
面向对象
C++ 是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之前的交互完成
举例说明:
同样拿洗衣服这个例子说明,以 C++ 的面向对象的角度来看
总共有4个对象:人、衣服、洗衣粉、洗衣机
整个洗衣服的过程:将衣服放入洗衣机,倒入洗衣粉………………
整个过程主要是:人、衣服、洗衣粉、洗衣机4个对象之间交互完成的,人不需要关心洗衣机具体是如何洗衣服的,是如何甩干的
类的引入
C语言 结构体中只能定义变量,在 C++ 中,结构体内不仅可以定义变量,也可以定义函数
比如:在之前学习数据结构中用 C语言 的方式实现栈,结构体中只能定义变量
现在以 C++ 的方式实现,会发现 struct 中也可以定义函数
且 C++ 兼容 C语言 ,C语言 中结构体的用法也可以继续,同时在 C++ 中,struct 也升级成了类
代码演示:
struct Stack
{
// 成员函数
void Init()
{
a = nullptr;
top = capacity = 0;
}
// 成员变量
int* a;
int top;
int capacity;
};
C++ 的 struct 升级成了类之后,不仅能定义变量,还能定义函数,且在类里面定义的函数,那么可以直接使用类里面的变量,不用再传递参数
访问变量或者函数的时候直接访问即可
代码演示:
struct Stack st;
st.a = nullptr;
st.Init();
定义一个 st 的对象,那么想要使用 st 中的成员函数或者成员变量的话,利用 . 操作符即可访问