1. 在C++中
(1)定义区别
struct Student
{
int num;
char name[12];
}stu1;//stu1是一个变量
typedef struct Student2
{
int num;
char name[12];
}stu2;//stu2是一个结构体类型,即stu2是Student2的别名
(2) 使用区别
可以直接访问stu1.num;(因为stu1是变量)
但是stu2则必须先定义 stu2 s2;
然后 s2.num=10;
2. 结构体和类的区别
(1)结构体和类的唯一区别就是: 结构体和类具有不同的默认访问控制属性。
类中,对于未指定访问控制属性的成员,其访问控制属性为私有类型(private)
结构体中,对于未指定任何访问控制属性的成员,其访问控制属性为公有类型(public)
(2)C++中的结构体
struct能包含成员函数吗? 能!
struct能继承吗? 能!!
struct能实现多态吗? 能!!!
(3)使用
到底是用struct还是class,完全看个人的喜好,你可以将程序里所有的class全部替换成struct,它依旧可以很正常的运行。但我给出的最 好建议,还是:当你觉得你要做的更像是一种数据结构的话,那么用struct,如果你要做的更像是一种对象的话,那么用class。