原创 闫小林 C语言入门到精通 1月15日
收录于话题
#C++代码基础
95个
点击上方“C语言入门到精通”,选择置顶
第一时间关注程序猿身边的故事
作者
闫小林
白天搬砖,晚上做梦。我有故事,你有酒么?
C++类与结构体类型
C++与C语言不同,在C语言的基础上增加了class类型后,仍保留了结构体类型struct,而且把它的功能也扩展了,允许用struct来定义一个类型,可以将前面用关键字class声明的类类型改为用关键字struct:
struct Student //用struct来声明一个类类型
{
private: //声明以下为私有的
int number; //学号
char name[10];//姓名
char sex; //性别
public: //声明以下为共有的
void print_info() //打印
{
cout<<number<<endl;
cout<<name<<endl;
cout<<sex<<endl;
};
}
Student stu1,stu2;//定义了Student类对象
C++不是简单地继承C语言的结构体,而是使它也具有类的特点, 以便于用于面向对象程序设计,使结构体类型也具有封装的特征。
在C++中用struct声明的结构体类型实际上也就是类,如果对其成员不作private或public的声明,系统将其默认为public;如果想分别指定私有成员和公用成员,则应用private或 public作显式声明。
而用class定义的类,如果不作private或public声明,系统将其成员默认为private,在需要时也可以自己用显式声明改变。
如果希望成员是公用的,使用struct比较方便;如果希望部分成员是私有的,宜用class,建议读者尽量使用class来建立类,更符合C++风格。