基础知识

一个类的构造

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*