作业内容:
建立一个求面积的基类,把求面积的函数定义为纯虚函数。然后派生两个矩形和三角形的类,通过基类指针访问虚函数求面积。
个人体会:
由于我把求面积函数定义为有返回值,所以当用指针访问时,要另外定义个字符创造空间来存放结果,感觉有点麻烦。
编写代码:
# include <iostream>
# include <string>
using namespace std;
class area_cl{
public:
area_cl(double r,double s)
{
height=r;
width=s;
}
virtual double area()=0;
protected:
double height;
double width;
};
class rectangle:public area_cl{
public:
rectangle(double r,double s):area_cl(r,s)
{};
double area()
{
cout<<"矩形的面积为";
return (height*width);
}
};
class isosceles:public area_cl{
public:
isosceles(double r,double s):area_cl(r,s)
{};
double area()
{
cout<<"三角形的面积";
return (height*width*0.5);
}
};
int main()
{
area_cl *p;
rectangle r(10.0,5.0);
isosceles i(4.0,6.0);
p=&r;
double s1=p->area();
cout<<s1<<endl;
p=&i;
double s2=p->area();
cout<<s2<<endl;
return 0;
}