条款19 设计class 犹如设计type

本文探讨了在C++中设计新类型的多个关键方面,包括对象的创建与销毁、初始化与赋值的区别、值传递的意义、合法值的定义、类型转换需求、合理操作符与函数的选择、标准函数的拒绝使用、成员访问控制、未声明接口的重要性、类型的泛化程度以及新类型的实际必要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 新type的对象应该如何被创建和销毁(这会影响你的构造与析构及内存分配与释放函数(operator new ....))2 对象的初始化和对象的赋值该有什么样的差别(构造与赋值操作符)3 新type的对象如何被passed by value ,意味着什么(拷贝构造)4 什么是新type的“合法值” ? (setter函数的错误检查,他影响函数抛出异常等)5 你的新type需要配合某个继承图系吗?(你会受继承的类的设计束缚,如基类为virtual)6 你的新type需要什么样的转换(是否需要 类型转换函数(operator Tx),或单参构造)7 什么样的操作符和函数对此新type而言是合理的?(哪些应该是成员函数)8 什么样的标准函数应该驳回(那些该声明为private的成员函数)9 谁该取用新type的成员(这个可以帮你解决哪个成员是public...哪个类或functions应该是friend..)10 什么是新type的“未声明接口”(对效率,异常安全性,资源运用的保证,在你类内的实现代码加上相应的约束条件)11 你的新type有多么一般化?(class template)12 你真的需要一个新type吗?(或者定义新derived class 添加新机能,)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值