侯捷老师C++面向对象——听课

一、设计一个类需要注意什么?

1、数据 封装在private里面

2、参数 尽可能以refrence传递

ps:要不要加const?      看状况

3、返回值 尽可能以reference传递

ps:先在脑子里思考 以引用来传可不可以,当然如果不可以的话就按照value传递

4、在类 的body里面的函数 应该要加const的就要加。

ps:如果不加的话使用者在用的时候,编译器会报错,他会埋怨你——你就是class的设计者,你设计的不好。

5、构造函数的 Initialization list(初值列,初始列)要尽可能去用它。。(看下面截图)

ps:因为这是在初始化的时候就赋值了,比单独再构造函数主体里赋值更节省资源充分利用了构造函数的特性

 

二、C++里的重载  操作符就是一个函数,是可以让我们重新定义的

 拿复数(分为实部和虚部)来说,如果我单独定义一个plus函数来操作虚部和实部的相加,还不如直接重载操作符方便呢。。

所以那好吧,C++允许大家重写操作符来改变它原来定义

傳遞者無需知道接收者是以 reference 形式接收

 

注意:临时对象 这种用法在标准库里很常见 

return complex();

int a= int();

In this context,

int a = int(); // 1)

it value-initializes a, so that it holds value 0. This syntax does not require the presence of a constructor for built-in types such as int.

Note that this form is necessary because the following is parsed as a function declaration, rather than an initialization:

它对a进行值初始化,使其保持值为0。此语法不需要内置类型(例如int)的构造函数。 请注意,这种形式是必需的,因为以下内容被解析为函数声明,而不是初始化:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值