类的产生原型是struct

C中, struct: 结构体可以让用户自定义数据类型.

C++中的结构体拓展了struct的使用范围.

class对象是由struct演化而来的,struct是语法的来源.

C++中 struct中不仅可以定义数据类型,还可以与类一样, 定义操作.

因此:

(1)  struct可以看成是一种类似于class的标识符.

struct Student{  //结构体声明
   char name[10];
   int age;
   ... ....  
};

  使用C语言定义结构体变量 stu 时, 必须用 struct  Student  stu; C++中可以直接用Student stu.

  C中如果要也要如此用,必须先用typedef 给结构体起个"别名"为Student,才能用Student stu定义变量.

 

备注: 枚举类型使用同样如此: C中必须用 enum Type t 定义变量 t , C++可以用Type;

 

什么是对象?

以下摘自《C++编程思想》(美)Bruce Eckel Chuck Allison著

“把函数放进结构中是从C到C++中的根本改变, 这引起我们将结构作为新概念去思考。

在C中, struct是数据的凝聚,它将数据捆绑在一起,使得我们可以将它们看作一个包。

但这除了能使编程方便之外,别无其它。对这些结构进行操作的函数可以在别处。

然而将函数也放在这个包中,结构就编程了新的创造物了,它既能描写属性(就向C struct能做的一样),

又能描述行为,这就形成了对象的概念。”

posted @ 2020-06-17 13:02  猿起5-2  阅读(196)  评论(0编辑  收藏  举报