C++面向对象类的实例题目十一

题目描述:

写一个程序计算三角形,正方形和圆形3种图形的面积

程序代码:

#include<iostream>
#include<cmath>
#define PAI 3.1415
using namespace std;
class Shape
{
	public:
		virtual float area()	//定义一个求面积的成员函数 
		{
			return 0;
		}
		virtual void ShapeName() = 0;//定义一个纯虚函数 
};
class Triangle:public Shape
{
	public:
		Triangle(float x,float y,float z):a(x),b(y),c(z){};
		void ShapeName()
		{
			cout<<"Triangle:"<<endl; 
		}
		float area()
		{
			float p = (a+b+c)/2;
			float s = sqrt(p*(p-a)*(p-b)*(p-c));
			return s;
		}
	private:
		float a,b,c;
}; 
class Square:public Shape
{
	public:
		Square(float l):length(l){};
		void ShapeName()
		{
			cout<<"Square:"<<endl; 
		} 
		float area()
		{
			float s = length * length;
			return s;
		}
	private:
		float length;
};
class Circle:public Shape
{
	public:
		Circle(float r):radius(r){};
		void ShapeName()
		{
			cout<<"Square:"<<endl; 
		} 
		float area()
		{
			float s = PAI*radius*radius; 
			return s;
		}
	private:
		float radius;	
}; 
int main()
{
	Shape *pt;
	pt = new Triangle(3,4,5);
	pt->ShapeName();
	cout<<"Area:"<<pt->area()<<endl;
	cout<<"================================"<<endl; 
	pt = new Square(2.5);
	pt->ShapeName();
	cout<<"Area:"<<pt->area()<<endl;
	cout<<"================================"<<endl; 
	pt = new Circle(2.5);
	pt->ShapeName();
	cout<<"Area:"<<pt->area()<<endl;
	return 0;
}


结果输出:

Triangle:
Area:6
================================
Square:
Area:6.25
================================
Square:
Area:19.6344


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++ 是一种面向对象的编程语言,C++面向对象编程的基本概念之一。是用户自定义的数据型,它封装了数据和操作数据的方法,使程序更加模块化、可维护和可扩展。下面是关于 C++ 的知识梳理: 1. 的定义 的定义由两部分组成:的声明和的实现。的声明包括名、数据成员和成员函数的声明;的实现包括成员函数的定义和其他实现细节。一般情况下,的声明放在头文件中,的实现放在源文件中。 2. 访问控制 C++ 中有三种访问控制:public、private 和 protected。public 成员可以被任何人访问,private 成员只能在内部访问,protected 成员可以被内部和派生访问。 3. 构造函数和析构函数 构造函数是一种特殊的成员函数,用于初始化对象的数据成员。析构函数也是一种特殊的成员函数,用于清理对象的数据成员。构造函数和析构函数在对象创建和销毁时自动调用。 4. 拷贝构造函数和赋值运算符重载 拷贝构造函数是一种特殊的构造函数,用于初始化对象的副本。赋值运算符重载是一种特殊的成员函数,用于将一个对象的值赋给另一个对象。拷贝构造函数和赋值运算符重载可以避免对象浅拷贝的问题。 5. 成员函数和静态成员函数 成员函数是定义在中的函数,可以访问对象的数据成员和其他成员函数。静态成员函数是定义在中的静态函数,它不需要访问对象的数据成员,只能访问静态成员和其他静态函数。 6. 友元函数 友元函数是定义在外部的函数,它可以访问的私有成员。友元函数需要在中进行声明,以便访问的私有成员。 7. 继承 继承是一种面向对象编程的基本概念,它允许一个继承一个的成员变量和方法。派生可以访问基的公共和受保护成员,但不能访问基的私有成员。 8. 多态多态性是一种面向对象编程的特性,它允许不同的对象以不同的方式响应同一消息。C++ 实现多态性的方式有虚函数、纯虚函数和抽象等。虚函数是一种在基中声明的函数,派生可以对其进行重写。纯虚函数是一种没有实现的虚函数,它在基中声明为纯虚函数,派生必须实现它。抽象是一种包含纯虚函数,它不能被实例化,只能被用作其他的基。 以上是 C++ 的基本知识梳理。熟练掌握的概念和特性对于理解面向对象编程至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值