定义Sales_data类型

Sales_data初步定义如下:

struct Sales_data
{
    string bookNo;
    unsigned units_sold = 0;
    double revenue = 0.0;
};
  • 关键词struct紧跟着类名和类体。类体和花括号包围形成一个新的作用域。
  • 类内部定义的名字必须唯一,但是可以与类外部定义的名字重复。

类体右侧的表示结束的花括号后必须写一个分号,这是因为类体后面可以紧跟变量名以示对该类型对象的定义,所以分号必不可少:

struct Sales_data {}accum,trans,*salesptr;
//与上一条语句等价,可能更好一些
struct Sales_data{};
Sales_data accum, trans, *salesptr;
  • 分号表示声明符的结束
  • 最好不要把对象的定义和类的定义放在一起

类数据成员

类体定义类的成员,我们的类只有数据成员

  • 类的数据成员定义了类的对象的具体内容,每个对象有自己的一份数据成员拷贝。
  • 修改一个对象的数据成员,不会影响其他Sales_data的对象。

C++11新标准规定,可以为数据成员提供一个类内初始值。创建对象时,类内初始值将用于初始化数据成员。没有初始化的成员将被默认初始化。

当定义Sales_data对象时,units_sold和revenue都将初始化为0,bookNo将初始化为空字符串。

类内初始值的限制

  1. 或者放在花括号里
  2. 或者放在等号右边
  3. 记住不能使用圆括号

 

posted @ 2019-04-07 22:43  CodeWithMe  阅读(606)  评论(0编辑  收藏  举报