C++面向对象程序设计50道编程题(第07题)

版权声明:版权所有,尊重原创。转载请注明出处: 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";
}

五、心得感受

可以在评论处写下思考和编程此题的感受

猜你喜欢

转载自blog.csdn.net/qq_36426650/article/details/84582484