基础知识
一个类的构造
class Stack {public: bool push( const string& ); int size() { return _stack.size(); };private: vector<string> _stack;};
所有member function都必须在class主体内申明。至于是否要定义可自在决定
如果要在class主体内定义,则该member function主动视为inline函数
如果在class外定义须要加上类名::
,如Stack::pop(string &elem)
构造函数
构造函数名必须与类名雷同且没有返回值
Triangular (int len, int bp){ _length = len; _beg_pos = bp;}
能够应用成员初始化列表定义
Triangular (int len, int bp): _length(len), _beg_pos(bp) {}
析构函数
开释内存资源,不会有返回值和任何参数
~Matrix(){ delete []_pmat;}
mutable(可变)和const(不变)
const member function
在参数列表后加const将成员函数申明为const member function,其不可扭转class object的内容
int length() const { return _length; } # in classint Triangular::length() const { return _length; } # out class
mutable data member
对于如计数器等成员变量,通过const member function调用无奈对其批改值,能够用mutable
定义该成员变量
this指针
指向以后class,类型为class_name*