1. 定义一个 Rectangle 类,有长 itsWidth、宽 itsLength 等属性,重载其构造函数 Rectangle()和 Rectangle(intwidth,intlength)。classRectangle//定义一个 Rectangle 类{public:Rectangle(){itsLength=1,itsWidth=2;}Rectangle(intlength,intwidth){itsLength=length;itsWidth 二 width;}〜Rectangle(){}intGetLength(j{returnitsLength;}intGetWidth(){returnitsWidth;}private:intitsLength,itsWidth;〃有长 itsWidth、宽 itsLength 等属性};2. 定义计数器 Counter 类,对其重载运算符+。classcounter{private:inti;public:counter(){}counter(intp){i=p;}〜counter(){}intgeti(){returni;}voidseti(intp){i=P;}counteroperator+(counter&r){returncounter(i+r.geti());}};3、定义一个异常类 CException,有成员函数 Reason(),用來显示异常的类型,定义函数饷()触发异常,在主函数的 try 模块中调用 fn1(),Scatch 模块中捕获异常,观察程序的执行流程。#includeusingnamespacestd;enum{EXCEPTION_1=1,EXCEPTION_2,EXCEPTION_3};classCException{public:CException(intnReason){m_nReason=nReason;}~CException(){}voidReason(){cout«HException:"«Reasonvvendl;}private:intm_nReason;};voidfn1(){thrownewCException(EXCEPTION_1);}intmain(){try{fn1();}catch(CException*e){e->Reason();}return0;}4、定义一个 Shape 基类,在此基础上派生出 Rectangle 和 Circle,二者都有GetArea()函数计算对象的面积。使用 Rectangle 类创建一个派生类 Square。classShape//基类{public:Shape()0~Shape(){}virtualfloatGetArea()=0;};classCircle:publicShape{private:floatitsRadius;public:Circle(floatradius):itsRadius(radius){}~Circle(){}floatGetArea(){returnPI*itsRadius*itsRadius;}};classRectangel:publicShape{private:floatitsLength,itsWidth;public:Rectangel(){}Rectangel(floatlen,floatwidth):itsLength(len),itsWidth(width){}~Rectangel(){}virtualfloatGetArea(){retumitsLength*itsWidth;}};classSquare:publicRectangel{private:floatWidelength;public:Square(floatwl):Widelength(wl){}~Square(){}virtualfloatGetArea(){returnWidelength*Widelength;}};5、定义一个基类 BaseClass,从它派生出类 DerivedClass,BaseClass 有成员函数fn1().fn2(),DerivedClass 也有成员函数 ...