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能做的一样),
又能描述行为,这就形成了对象的概念。”
原文链接: https://www.cnblogs.com/blackandwhite/p/13151884.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/356354
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!