继承与异常
-
异常也是类,我们可以创建自己的异常类,在异常中可以使用(虚函数,派生,引用传递和数据成员等)
-
案例:设计一个数组类容器 Vector,重载[]操作,数组初始化时,对数组的个数进行有效检查
1)index<0 抛出异常errNegativeException
2)index = 0 抛出异常 errZeroException
3)index>1000抛出异常errTooBigException
4)index<10 抛出异常errTooSmallException
5)errSizeException类是以上类的父类,实现有参数构造、并定义virtual void printError()输出错误。
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
class errSizeException {
public:
errSizeException(int size) {
m_size = size;
}
virtual void printError() {
//输出Vector数组的大小
cout << "size: "<< m_size << endl;
}
protected:
int m_size;
};
class errNegativeException : public errSizeException {
public:
errNegativeException(int size) : errSizeException(size) {
}
void printError() {
cout << "size: "