C++PrimerPlus学习笔记(Ch10构造函数和析构函数)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值