c++程序设计中的多态与虚函数知识点
生活随笔
收集整理的這篇文章主要介紹了
c++程序设计中的多态与虚函数知识点
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一.前言
如上
二.內(nèi)容
編寫一個程序,聲明抽象基類Shape,由它派生出3個派生類:Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用一個函數(shù)printArea輸出以上三者的面積,3個圖形的數(shù)據(jù)在定義對象時給定。
三.代碼
#include<iostream> #include<math.h> using namespace std; class Shape{//抽象類Shape public: virtual void printArea()=0;//顯示面積 }; class Circle:public Shape{//公用派生類 public:Circle(double r);//構(gòu)造函數(shù) virtual void printArea();//顯示圓的面積private:double radius;//半徑 };Circle::Circle(double r){//構(gòu)造函數(shù) radius=r; } void Circle:: printArea(){//顯示圓的面積cout<<3.14159*radius*radius<<endl;; }class Rectangle:public Shape{//公用派生類Rectangle public:Rectangle(double a,double b);//構(gòu)造函數(shù)virtual void printArea();//顯示矩形的面積private:double x;//矩形的長double y;//矩形的寬 };Rectangle::Rectangle(double a,double b){//構(gòu)造函數(shù)x=a;y=b; }void Rectangle:: printArea(){//顯示矩形的面積cout<<x*y<<endl;; }class Triangle:public Shape{//公用派生類Triangle public:Triangle(double a1,double b1,double c1);//構(gòu)造函數(shù)virtual void printArea();//顯示矩形的面積private://三角形的三邊 double a; double b;double c; };Triangle::Triangle(double a1,double b1,double c1){//構(gòu)造函數(shù)a=a1;b=b1;c=c1; }void Triangle:: printArea(){//顯示矩形的面積double p;p=(a+b+c)/2;cout<<sqrt(p*(p-a)*(p-b)*(p-c))<<endl; }int main(){Shape *s;Circle c(12.6);Rectangle r(4.5,8.4);Triangle t(3,4,5);s=&c;cout<<"area of circle:";s->printArea();s=&r;cout<<"area of rectangle:";s->printArea() ;s=&t;cout<<"area of triangle:";s->printArea() ;return 0; } 新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的c++程序设计中的多态与虚函数知识点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows删除指定时间之前指定后缀名
- 下一篇: s3c2440移植MQTT