Welcome

首页 / 软件开发 / C++ / C/C++学习手札(二)

C/C++学习手札(二)2010-04-10snowolf我们研究一下继承和虚函数。

比如我们需要求正方形、长方形的周长、面积:

选择1计算长方形

选择2计算正方形

选择3退出

其他无效

我们做一个继承实现,父类矩形,子类有正方形、长方形继承矩形

C++的继承语法如下:

矩形

class Rectangle

正方形

class Square: public Rectangle

长方形

class Oblong: public Rectangle

对正方形、长方形求面积、周长。面积公式相同,在矩形父类完成,函数area();周长公式不同,在各个子类种实现。这里有一个虚函数side()。

/**
* 求边长
*/
virtual int side()=0;

让函数side()=0;是在此定义,由子类实现。类似于Java的抽象父类,指定需要子类实现的方法。

矩形类:

/**
* 矩形
*/
class Rectangle {
protected:
int a; // a边
int b; // b边
public:
/**
* 求面积
*/
int area() {
return a * b;
}
/**
* 求边长
*/
virtual int side()=0;
};