- 将文件名放在双引号而不是<>中意味着编译器将在源文件所在的目录中搜索它,从而提供类声明;
类的构造函数
专门用于构造新对象、将值赋给他们的数据成员。
构造函数的参数表示的不是类成员,而是赋给类成员的值(参数名不能与类成员相同)
构造函数没有声明类型。
显式的调用构造函数:
Stock food = Stock("WORLD", 250, 1.25);
隐式调用:
Stock food("WORLD", 250, 1.25);
默认构造函数
- 给已有的构造函数的所有参数提供默认值
- 通过函数重载来定义另一个没有参数的构造函数
只要定义了构造函数,编译器就不会提供默认构造函数,需自己定义默认构造函数(不构造有可能出错)。
有默认构造函数后,可以声明对象而不初始化它,即使已经定义了初始化构造函数,默认构造函数还能声明数组。
const成员函数
void show() const; //函数声明
void stock::show() const; //函数定义
将const关键字放在函数的括号后面,从而保证函数不会修改调用对象;
以这种方式声明和定义的类函数被称为const成员函数。
this指针
指向用来调用成员函数的对象;
每个成员函数都有一个this指针,包括构造函数和析构函数;
this指针指向调用对象;使用表达式(*this)可以引用整个调用对象(是调用函数本身,而不是其副本);
可以理解为:this是对象的地址;而(*this)是对象本身。
直接成员运算符(.)、简介成员运算符(->)、作用域解析运算符(::)
每个对象都存储自己的数据而共享方法。