1.类构造函数:专门用于构造新对象,将值赋给它们的数据成员。
1.1.定义和声明构造函数:
1)构造函数的名称与类名相同。
2)构造函数没有声明类型,其原型和函数头没有返回值,也没有被声明为void。
3)原型位于类声明的公有部分。
4)构造函数的参数名不能与类成员相同。
在数据成员名前加 m_ 前缀,或者在成员名中使用后缀 _ 。
2.使用构造函数:
显式调用:Stock food = Stock(“World Cabbage”,250,1.25);
隐式调用:Stock food(“World Cabbage”,250,1.25);
构造函数用来创建对象,不能通过对象来调用构造函数。
3.默认构造函数:
常使用:一个没有参数的构造函数:
类声明:Stock();
类定义:
Stock::Stock()
{
company = “no name”;
shares = 0;
share_val = 0.0;
total_val = 0.0;
};
——提供对所有类成员做隐式初始化的默认构造函数。
创建默认构造函数后,便可以声明对象变量而不对它们进行显式初始化。
隐式的调用默认构造函数:
Stock third; //无圆括号,否则为Stock对象的函数。
2.析构函数:对象过期时完成清理工作。
1)名称:类名前加上~ : ~Stock()
2)没有返回值和声明类型。
3)没有参数;
4)不承担工作,可以将它编写为不执行任何操作的空函数
原型:~Stock();
定义:
Stock::~Stock()
{
}
3.note:
Stock stock1(“nanosmart”,12,20.0);//用类创造一个对象,同时立刻对它赋值,即初始化。
stock1 = Stock(“nanosmart”,12,20.0);//用构造函数创建了一个临时的类的对象,并把这个对象再赋值给stock1,不是初始化。
4.const 成员函数
保证函数不会修改调用对象,在函数括号后面加const关键字:
void show()const;
void Stock::show()const