版权声明:版权所有,尊重原创。转载请注明出处: https://blog.csdn.net/qq_36426650/article/details/84582484
C++面向对象程序设计50道编程题(第07题)
摘要:C++程序设计实习是为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析问题和解决问题的能力,提高学生运用所学知识解决实际问题的能力。
本专辑为编程入门者、高校计算机软件专业学习或复习提供C++程序设计题库。
读者请先独立思考哦,再与参考程序进行比对检查。
一、问题描述
二、考察内容
基本面向对象概念,如何创建类、对象,对类私有、保护数据成员和公有成员函数的理解,对派生类(继承)的理解和使用,类指针运算、简单的数学运算。
三、难度等级
难度等级:★★☆☆☆
四、参考程序
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
class RECT{
protected:
double x,y;
public:
RECT(double x1,double y1){x=x1;y=y1;}
virtual double area()
{
double are=x*y;
return are;
}
double peri()
{
double L=2*x+2*y;
return L;
}
virtual int isSquare()
{
if(x==y)
return 1;
else
return 0;
}
};
class CUB:public RECT{
double hright;
public:
CUB(double x,double y,double h):RECT(x,y)
{ hright=h; }
double volume()
{
double vol;
vol=RECT::area()*hright;
return vol;
}
double area()
{
double Are;
Are=2*RECT::area()+peri()*hright;
return Are;
}
int isSquare()
{
if(RECT::isSquare())
return x==hright;
else
return 0;
}
};
void main()
{
double a,b,c;
cin>>a>>b>>c;
CUB cu(a,b,c);
RECT *re;
re=&cu;
cout<<"长方体的体积为:"<<cu.volume()<<endl;
cout<<"长方体的表面积为:"<<re->area()<<endl;
if(re->isSquare())
cout<<"该长方体是正方体\n";
else
cout<<"该长方体不是正方体\n";
}
五、心得感受
可以在评论处写下思考和编程此题的感受