原创 闫小林 C语言入门到精通 1月15日

收录于话题

#C++代码基础

95个

点击上方“C语言入门到精通”,选择置顶

第一时间关注程序猿身边的故事


10.6 C++类与结构体类型_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++风格。