码迷,mamicode.com
首页 > 编程语言 > 详细

C与C++下的struct的区别

时间:2015-07-14 17:25:06      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

C里定义一个struct,一般都会再利用typedef给该结构取一个别名,如:

1 tyepdef struct tagObject
2 {
3     int weight;
4     int price;
5     int status;
6 }OBJECT;

这样,以这个自定义的数据结构来创建一个变量时,就可以这样写:

1 OBJECT    objs;

而如果没有用typedef重定义的话,即按struct的原始定义为:

1  tyepdef struct tagObject
2  {
3      int weight;
4      int price;
5      int status;
6 }OBJECT;

这样,如果要创建一个这种类型的变量时,需要这样定义:

1 struct tagObject    objs;

本质原因是:创建的数据类型是struct tagObject,而不是tagObject。

但是,在C++里则不需要用typedef定义,struct 与class的唯一区别是默认的访问等级class私有的struct 则是公有的

C与C++下的struct的区别

标签:

原文地址:http://www.cnblogs.com/yfjack/p/4645691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!