第十二章 类

1.在 C++ 中,用类来定义自己的抽象数据类型(abstract data types)。通过定义类型来对应所要解决的问题中的各种概念,可以使我们更容易编写、调试和修改程序。

2.数据抽象能够隐藏对象的内部表示,同时仍然允许执行对象的公有(public)操作。

3.类蕴涵的基本思想是数据抽象和封装。

4.数据抽象是一种依赖于接口和实现分离的编程(和设计)技术。类设计者必须关心类是如何实现的,但使用该类的程序员不必了解这些细节。

5.如果类是用struct 关键字定义的,则在第一个访问标号之前的成员是公有的;如果类是用class 关键字是定义的,则这些成员是私有的。

6.如果类具有内置类型或复合类型数据成员,那么定义构造函数来初始化这些成员就是一个好主意。

7.可以声明一个类而不定义它,这个声明,有时称为前向声明(forward declaraton),不完全类型(incomplete type)只能以有限方式使用。不能定义该类型的对象。不完全类型只能用于定义指向该类型的指针及引用,或者用于声明(而不是定义)使用该类型作为形参类型或返回类型的函数。

8.在普通的非 const 成员函数中,this 的类型是一个指向类类型的 const指针(第 4.2.5 节)。可以改变 this 所指向的值,但不能改变 this 所保存的地址。在 const 成员函数中,this 的类型是一个指向 const 类类型对象的const 指针。既不能改变 this 所指向的对象,也不能改变 this 所保存的地址。

9.要将数据成员声明为可变的,必须将关键字 mutable 放在成员声明之前:mutable size_t access_ctr;

10.构造函数必须对任何 const 或引用类型成员以及没有默认构造函数的类类型的任何成员使用初始化式。

11.可以通过将构造函数声明为 explicit,来防止在需要隐式转换的上下文中使用构造函数。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值