摘要: 构造函数编译 myobj 的声明没有问题。然而,当我们试图使用 myobj 时编译器会指出不能将成员访问符号用于一个函数!问题在于 myobj 的定义被编译器解释为一个函数的声明,该函数不接受参数并返回一个 Sales_item 类型的对象——与我们的意图大相径庭!使用默认构造函数定义一个对象的正确方式是去掉最后的空括号:另一方面,下面这段代码也是正确的:这个构造函数使用构造函数初始化列表来初始化 units_sold 和 revenue 成员。isbn 成员由 string 的默认构造函数隐式初始化为空串。在冒号和花括号之间的代码称为构造函数的初始化列表。构造函数的初始化列表为类的一个或多个 阅读全文