类(关键词):数据抽象(数据成员和函数成员),封装(private),构造函数,静态成员

1.判断一个类是否是抽象数据类型,可以看我们对这个类的操作是对你内的数据成员操作,自己编写相应的处理函数,还是直接通过它的接口来使用这个类,完全不用知道这个类内具体有什么数据成员。

2.当我们设计类的接口的时候,应该考虑如何才能使得类易于使用,而当我们使用类时,不应该顾及类的实现机理。

3.任何对类成员的直接访问都被看作this的隐式调用。
任何自定义this的参数或变量的行为都是非法的。
默认化的,this被定义的类型为Sale_data * const 但是这样的话,就无法将this绑定到常量对象上。(因为this的地址是个常量,但是所指的内容不是,如果可以的话,就可以通过this修改这个常量的值)所以在一般在这样的函数参数列表后再加一个const

4.编译器:对于类内处理方式:
声明:
声明中使用的名字,包括返回类型或者参数列表中使用的名字,都必须在使用前可见。(从此声明前找)
成员函数的定义:处理完所有声明后再处理成员函数的定义。

5.一般来说,内层作用域可以重新定义外层作用域中的名字,即使该名字已经内层作用域中使用过。然而再类中,如果成员使用了外层作用域中的某个名字,而该名字代表一种类型,则类不能再之后重新定义该名字。

6.成员函数内的名字查找规则:
①先再函数体内查找
②再到类内查找,此时类内所有的成员都可以被考虑。
③然后再到成员函数定义之前的作用域,全局作用域查找。
可以指定访问类内成员,再名字前加类名::
对于域外对象,可以通过只加::访问

7.如果成员是const,引用,或者属于某种未提供默认构造函数的类类型,我们必须通过构造函数初始值列表为这些成员提供初值。

8.成员的初始化顺序和它们再类中定义出现的顺序一致。最好令构造函数初始值的顺序与成员声明的顺序保持一致。而且如果可能的话,尽量避免使用某些成员初始化其他成员

9.想定义一个使用默认构造函数进行初始化的对象,对象名后什么都不加就可以。
例子:
Sale_data obj;//正确
Sale_data obj();//错误声明成了函数。

10.聚合类:满足条件:
①所有成员都是public的
②没有定义任何构造函数
③没有类内初值
④没有基类,也没有virtual函数


11.类的静态成员:
①静态成员函数不能与任何对象绑定在一起,不包含this指针。因此静态成员函数不能声明成const也不能再static函数体内使用this指针。
②static关键字只能出现在类内部的声明语句中。
③即使一个常量静态常量数据成员在类内部被初始化了,通常情况下也应该在类的外部定义一下该成员。
④静态类型的优点:
可以是不完全类型。
可以用作默认实参。
④一般来说静态数据成员不能再类内初始化,除非是字面值常量类型的constexpr

最新文章

  1. PHP实现全排列(递归算法)
  2. 解决安卓微信浏览器中location.reload 或者 location.href失效的问题
  3. clearTimeout消除闪动
  4. 安卓设备通过USB接口读取UVC摄像头权限问题
  5. Docker + Consul 多数据中心模拟
  6. 手把手集成web端手写公式功能
  7. javafx实现饼图统计效果图
  8. Mysql 作业(Scheduler)
  9. c# 可访问性级别
  10. Nginx性能统计模块http_stub_status_module使用
  11. IE 弹出"Unable to do xml/xsl" Processing
  12. 搭建Android环境
  13. 深入理解DOM事件类型系列第六篇——加载事件
  14. 举例让抽象问题具体化:包含min函数的栈
  15. 主机ssh升级到6.7以上版本后,使用jsch jar包ssh连接不上报Algorithm negotiation fail问题的解决办法
  16. Linux系列教程(三)——Linux学习技巧
  17. JPA实体类中常用的注解
  18. scikit_learn逻辑回归类库
  19. Hbase 学习(八) 使用MapReduce
  20. Destroy the Colony CodeForces - 1111D (可逆背包,计数)

热门文章

  1. 对React children 的深入理解
  2. python操作hive并且获取查询结果scheam
  3. mac 上面安装 tree 命令
  4. 安装hive的web界面
  5. 第28次Scrum会议(11/16)【欢迎来怼】
  6. JAVA第一次实验 ——凯撒密码
  7. 20135234mqy 实验二 Java面向对象程序设计
  8. Hibernate笔记①--myeclipse制动配置hibernate
  9. WPF四则运算《《《《《策略模式
  10. 文献:Technology-related Disasters:A Survey toward Disaster-resilient Software Defined Networks