C 语言是面向过程的语言,而 C++ 是面向对象的语言。并且当前主流的语言大多数都是面向过程的语言,这足以证实面向过程的语言更适合当前时代的发展。
面向过程在解决题目时主要关注解决题目的过程,也就是解决题目的步骤,把每个步骤抽象成一个函数,然后传入对应的数据调用这些函数一步一步解决题目。而面向对象在解决题目时主要关注题目涉及的对象,把每个对象、相干的数据(成员变量)和能进行的操纵(成员函数)封装成一个类。接着创建每个类的对象实例用来存储数据和实行相应的操纵。
就拿玩游戏闯关打 BOSS 来举例子,如果是面向过程的游戏,那么就需要按照顺序从第一关,第二关,…,第 N 关,BOSS。你需要按照策划设定好的过程一关一关地通过,末了面对 BOSS 。而如果是面向对象的游戏,那么就抽象出来了三个类:玩家、小怪和BOSS,小怪和 BOSS 的设定是如果与玩家的距离在 N 之内大概玩家主动攻击,那么小怪和 BOSS 就会反击。如许游戏就多了许多可能性,比如玩家只通过了一部分关卡就去打 BOSS 大概上来就攻打 BOSS。
通过上述分析可以得出,面向过程的语言关注的是过程,把一个题目分解成多个步骤,调用函数逐步解决。而面向对象是把题目中涉及的对象(包罗其属性和操纵)抽象出来,通过对象之间的交互来完成。
二、C++ 中的结构体(struct)
C++ 中的 struct 中不仅能包含成员变量还能包含成员函数,因为 C++ 中把 struct 当作类来处置惩罚。
1. C++ 中 struct 的利用
从上面的代码中可以看到在创建结构体变量时,直接利用 Student 而不是 C 语言中的 struct Student,这是因为 C++ 中把结构体当作类处置惩罚,而 Student 是一个类名。但是由于 C++ 兼容 C 语言,以是原来 C 语言的 struct Student 语法依旧可以利用。
结构体对象(变量)通过成员运算符(.)来访问成员变量和调用成员函数。
三、C++ 中的类(class)
C++ 中的类由形貌类的成员变量和能对类进行操纵的成员函数组成。
C++ 中的类的创建类似 struct,只不过是把 struct 改成了 class,把结构体名称改为了类名。
class classname
{
//…
};
下面依旧是门生结构体: