导航

c++基础

Posted on 2018-01-15 14:11  困或  阅读(191)  评论(0编辑  收藏  举报

1.extern关键字:

  extern的意思就是引用,extern后面可以是变量名或者函数名,表示引用一个变量或者函数,在链接的时候需要从外部符号表中查找这个变量的定义。

2.类的静态成员变量:

  [1]类的静态成员变量是属于类本身,而非某个实例。

  [2]必须在类外初始化,意思就是说不能创建一个对象,用这个对象去初始化那个静态变量。

  [3]可以通过类名访问静态成员变量,例如初始化(int A::value = 0;)。

3.类的静态成员函数:

  [1]静态成员函数是和该类相关,但是和类的实例无关。

  [2]静态成员函数可以访问静态成员变量和静态成员函数,但是不能访问非静态成员函数和非静态成员变量。因为非静态成员是属于某个实例的,没有实例便没有初始化内存,所以访问是非法的。

  [3]可以通过类名调用静态成员函数。这个是很有用的,否则必须创建一个对象来调用类里面的函数。

  [4]调用非静态成员函数时,会传递一个this指针(表示调用者对象本身),但是调用静态成员函数时,不存在this指针。

4.const关键字:

  [1]类的成员函数后面加const,表示这个函数不能修改这个类的成员变量。其实就是给这个成员函数的this添加了const属性。

  [2]如果一个对象创建的时候是const,则这个对象只能调用类的const成员函数(例如创建对象时:const ca a;)。

  [3]非成员函数后面是不能加const的,也不能加volatile。

5.类的成员访问权限:

  [1]private:private表示成员只属于本类。可以在类的内部访问或者外部函数实现中访问,不能通过对象访问。任何继承,在派生类中都不可以访问private成员。

  [2]protect:可以在类的内部访问或者外部函数实现中访问,不能通过对象访问。

  [3]public:可以在类的内部访问或者外部函数实现中访问,可以通过对象访问。

6.类的继承之后的成员访问权限:

  [1]public继承:相当于把基类中的public拷贝到了派生类的public中,基类中的protect拷贝到了派生类的protect中。

  [2]protect继承:相当于把基类中的public和protect拷贝到了派生类的protect中。

  [3]private继承:相当于把基类中的public和protect拷贝到了派生类的private中。