C++编程练习:抽象类——编写一个程序,计算三角形正方形的面积,抽象出一个基类base。

Posted 晚风(●•σ )

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++编程练习:抽象类——编写一个程序,计算三角形正方形的面积,抽象出一个基类base。相关的知识,希望对你有一定的参考价值。

例、编写一个程序,要求计算三角形、正方形的面积,抽象出一个基类base,在其中说明一个虚函数display( )用来展示其参数且求出面积。

代码如下:

头文件headfile.h:

#pragma once								//只运行一次头文件
#include <iostream>
using namespace std;
class base
{
public:
	virtual void display() = 0;			//成员函数dispaly()声明为纯虚函数
};

class Square : virtual public base     //派生类Square正方形
{
protected:
	float x;
public:
	float width;
	Square()
	{
	}
	Square(float a)
	{
		x = a;
	}
	virtual float getSquare()
	{
		return (x * x);
	}
	virtual void display()
	{
		cout << "正方形的边长为:" << x << endl;
		cout << "正方形的面积为:" << getSquare() << endl;
	}
};

class Rectangle : virtual public base    //派生类Rectangle三角形
{
protected:
	int a, h;
public:
	Rectangle()
	{
	}
	Rectangle(int a1, int h1)
	{
		a = a1;
		h = h1;
	}
	virtual float getRectangle()
	{
		return (a * h) / 2.0;
	}
	virtual void display()
	{
		cout << "三角形的底和高为:" << a << endl << h << endl;
		cout << "三角形的面积为:" << getRectangle() << endl;
	}
};

源文件源.cpp:

#include <iostream>
#include "headfile.h"
using namespace std;
int main()
{
	base* p;
	double a = 0, a1 = 0, h1 = 0;
	cout << "请输入正方形的边长:" << endl;
	cin >> a;
	Square A(a);
	p = &A;
	p->display();
	cout << "" << endl;
	cout << "请输入三角形的底和高:" << endl;
	cin >> a1 >> h1;
	Rectangle B(a1, h1);
	p = &B;
	p->display();
	system("pause");
	return 0;
}

测试:
在这里插入图片描述

结语

以上就是本次C++的全部内容,感谢您的阅读和支持,若有表述或者代码中的不当之处,望指出!您的指出和建议能给作者带来很大的动力!!!

以上是关于C++编程练习:抽象类——编写一个程序,计算三角形正方形的面积,抽象出一个基类base。的主要内容,如果未能解决你的问题,请参考以下文章

编写一个程序计算“三角形、正方形、圆形"三种图形的面积,求:a)抽象出一个基类base b)在其中

Java抽象类与接口

c++编写程序输出五行的杨辉三角

Java 抽象类与接口 编程练习

Java基于TCP的Socket编程练习

抽象类接口