关于基础:C面向对象程序设计

44次阅读

共计 727 个字符,预计需要花费 2 分钟才能阅读完成。

基础知识

一个类的构造

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 class
int Triangular::length() const { return _length;} # out class

mutable data member

对于如计数器等成员变量,通过 const member function 调用无奈对其批改值,能够用 mutable 定义该成员变量

this 指针

指向以后 class,类型为class_name*

正文完
 0