设计一个class,应该考虑以下问题:

  1. 新type的对象应该怎样创建和销毁?
    1. 构造函数
    2. 析构函数
    3. 内存分配
    4. 内存释放
  2. 对象的初始化和对象的赋值应该有什么样的差别?
    1. 拷贝构造函数
    2. 赋值运算符
  3. 新对象如果被用值传递,这意味着什么呢?
    1. 拷贝构造函数
  4. 新对象的合法持有哪些?
    1. Setter
    2. 错误检查
  5. 对象是否会被继承?是否继承自其他类型?
    1. 虚函数
    2. 析构函数
  6. 新类型需要什么样的转换?
    1. Operator操作符
    2. Explicit构造函数
  7. 什么样的操作符合函数对此新类型是合理的?
    1. 成员函数
    2. 非成员函数
    3. 静态函数
  8. 什么样的标准函数应该驳回?
    1. Private
  9. 谁该是用新的类型?
    1. 友元函数
    2. Protected函数/成员
  10. 未声明接口?
    1. 多线程
    2. 异常安全性
    3. 效率
  11. 是否一般化?
    1. 模板类
  12. 确实需要一个新的type吗?
    1. 是否有其他路径可以得到相同的结果?

转载于:https://www.cnblogs.com/SkyFireITDIY/p/6234653.html

EC笔记:第4部分:19、设计class犹如设计type相关推荐

  1. 读书笔记_Effective_C++_条款十九:设计class犹如设计type

    这里初看到"class"和"type",感觉他们是说的是同一样东西,但仔细读了一下,两者在文中还是有区别的.class侧重于自定义的类,而type侧重于系统预定 ...

  2. (19)FPGA脉冲计数器设计(第4天)

    (19)FPGA脉冲计数器设计(第4天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA脉冲计数器设计(第4天) 5)技术交流 6)参考资料 2 FPGA ...

  3. HTML5期末大作业:甜品奶茶网站设计——甜品奶茶店(19页) HTML5网页设计成品_学生DW静态网页设计_web课程设计网页制作

    HTML5期末大作业:甜品奶茶网站设计--甜品奶茶店(19页) HTML5网页设计成品_学生DW静态网页设计_web课程设计网页制作 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电 ...

  4. unity学习笔记-番外(3d模型的动作设计以及导入-2018版)材质的替换以及动作穿模(自己的手穿模到自己的其他部位)

    unity学习笔记-番外(3d模型的动作设计以及导入) 动作设计白嫖方法 方法一:小k网 需要注意的地方 方法二:mixamo 需要注意的地方 材质的替换 一 动作的穿模 2021.5.13更新 -2 ...

  5. Matlab gui用户图形设计界面学习笔记(一)——单个界面的菜单设计

    Matlab gui用户图形设计界面学习笔记(一)--单个界面的菜单设计 弹出式菜单(pop-up menu)和下拉列表框(listbox) 实现功能:pop menu最初为 "请选择省份& ...

  6. 深入浅出Hibernate 笔记一(面向应用的持久层设计)

    持久层的设计(即对'数据库'的操作)对系统运行效率影响至关重要 持久层概述--持久层 独立于表示层 业务逻辑 的逻辑层面专注数据持久化逻辑的实现.和系统的其他层面之间有一严格的逻辑边界. 持久层设计- ...

  7. java物理架构_Java应用架构读书笔记(1):物理设计与逻辑设计

    逻辑设计 几乎大部分帮助软件设计和架构的原则和模式主要都是关注逻辑设计.逻辑设计主要关于语言构造块,比如类,操作符,方法和包.识别一个类的方法,类之间的关系,系统包的接口等问题都是逻辑设计相关的问题. ...

  8. PFC电源设计与电感设计计算学习笔记

    PFC电源设计与电感设计计算 更新于2018-11-30 课程概览 常见PFC电路和特点1 常见PFC电路和特点1 CRM PFC电路设计计算 CCM PFC电路设计计算 CCM Interleave ...

  9. (读书笔记)在你身边,为你设计

    大学时看的一个美剧<Heros>,讲述异能者的故事,异能者因为特殊产生了自己是怪物的心理,从而和普通人分离,感到孤单,彷徨.第二季结束的时候,男主角说当他们感到孤单的时候,我们什么的都不用 ...

最新文章

  1. go定时读取mysql_golang+数据库定时任务
  2. Converting slapd.conf to a Directory Based Configu
  3. vba发送邮件 签名_如何更改“从Windows 10的邮件发送”签名
  4. java内存四大区,jvm基础-内存区域
  5. 区块链在阿里巴巴天猫中的应用
  6. Fiddler如何查找登陆的可用cookie用于其他请求?方式一
  7. 《人生一串》第二季收官 B站播放量突破5400万
  8. python gif压缩_压缩gif的正确姿势
  9. ngx-datatable中文教程
  10. vue移动端实现预览word,excel,pdf, text以及cordova app 打开处理方案
  11. 李建忠设计模式——享元模式
  12. 计算机固态硬盘增大,老电脑想要焕发第二春,升级固态硬盘?还是加大内存容量?...
  13. 局域网内抢网速_为什么4G的网速越来越慢?
  14. 网址导航网站源码 Guojiz网址导航系统V 5.3正式版
  15. Xmanager远程连接Linux服务器图形界面
  16. [MATLAB]曲面与曲面对象(光照+反射)
  17. qichacha/知乎/国家统计局最新4级地区划/百度地图API获取经纬度/Google play app评论等分数据爬取
  18. 精选3D设计图标素材分享-玩转立体,设计师必备
  19. 大数据测试:多图表报告数据抓取参数
  20. zookeeper入门 - 3 - API常用函数功能与参数详解

热门文章

  1. 《JAVA练习题目8》 编写一个类Person,包含的属性和方法如下: 属性:字符串类型的名字name,字符类型的性别gender,和整型的序号number
  2. xcode新版本single view_动态数组函数系列1|概况-跟以往Excel版本完全不一样玩法的函数...
  3. python udp创建addr_python高级:8.socket通信part1
  4. 链路 英文_光纤链路基础
  5. php 连接hadoop hdfs,Hadoop HDFS操作
  6. php设置html全局路径_全局:语言包配置
  7. Php中如何记录本报时间,详细讲解PHP的日期时间函数date()
  8. python分治算法_python算法实现-分治法
  9. 记录一下Python-Qt中按钮点击事件无响应解决方案
  10. oracle锁表语句执行提示无法终止当前对话_显示Oracle数据库表或行上持有锁的所有会话...