基于c++回顾

c++类

特别的构造函数

默认参数:

几乎所有函数都可以使用默认参数,但在构造函数中最为普遍

初始化列表

用来直接初始化数据成员;与列表顺序无关,与成员申明顺序有关;如果一个成员是const的,那么,该数据成员必需在初始化列表里进行初始化;

explicit构造函数

所有单参数的构造函数都必需是explicit的;以避免后台类型转换;

例如:

class A

{

  A(int x = 0){}

  ~()A{}

}

A a;

a = 12;

由于c++拥有宽松规则,这将导制的结果会是,后台产生一个隐式类型转换;

A temp = 12;

a = temp; 

explicit A(int x = 0){}   explicit 关键字意味着不能使用隐式类型转换;从而使编译器正确解析以上语句

成员函数

在c++中,每一个成员函数都会被标记为访问函数或是修改函数;默认情况下所有的成员函数都是修改函数;只有在成员函数圆括号结尾加入的函数才是访问函数;

参数的传递

  1. 如果形参必需改变实参的值,那么必需是引址调用
  2. 如果参数类型是简单类型,使用按值传递;
  3. 参数类形是类类型一般按常量引用来传递;
    • 按值传递实用于不被函数更改的小对象
    • 常量引用调用适用于不被函数更改的大对象
    • 引址引用适用所有可以被函数更改的对象

 

posted @ 2018-02-02 05:47  疯颠研究者  阅读(199)  评论(0编辑  收藏  举报