第11章 定义抽象数据类型

本文介绍了如何在C++中定义抽象数据类型,以Vec为例,强调以用户使用为导向设计类接口。讨论了构造、析构、复制和赋值的语义,以及C++的惯用法。Vec类包含了迭代器、大小、值类型的定义,并提供了push_back等操作。文章通过详细代码展示了Vec的内存管理,包括创建、增长、销毁等过程。
摘要由CSDN通过智能技术生成

定义抽象类型的目标:让自定义类型如何内置类型一样易用,其使用符合一般习惯。

 

确定类接口:当我们准备要编写一个抽象的时候(这里指的是使用类概念),我们首先要确定这个抽象的接口。我们的抽象类型是提供给客户(可能是自己)使用的,那么其接口应该从客户的使用上来考虑。例如,我们准备写一个窗口抽象,那么我们很容易就能够想到,客户可能对这个窗口进行移动、改变大小、显示、隐藏、关闭等等,这些动词就应该列入我们的接口候选列表。

 

构造、析构、复制和赋值:我们要实例化一个类,就需要对这个类对象进行构造。C++提供了构造函数语义来让我们可以对类对象的构造进行控制。一个类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值