update
This commit is contained in:
46
practical_exercises/10_day_practice/day6/纯虚函数和抽象类/抽象类.cpp
Normal file
46
practical_exercises/10_day_practice/day6/纯虚函数和抽象类/抽象类.cpp
Normal file
@@ -0,0 +1,46 @@
|
||||
#include<iostream>
|
||||
using namespace std;
|
||||
class Figure{
|
||||
protected:
|
||||
double x,y;
|
||||
public:
|
||||
void set(double i, double j){
|
||||
x=i;y=j;
|
||||
}
|
||||
virtual void area()=0;
|
||||
};
|
||||
|
||||
class Trianle:public Figure{
|
||||
public:
|
||||
void area(){
|
||||
cout<<"三角形面积:"<<x*y*0.5<<endl;
|
||||
}
|
||||
};
|
||||
class Rectangle:public Figure{
|
||||
public:
|
||||
void area(){
|
||||
cout<<"这是矩形,它的面积是:"<<x*y<<endl;
|
||||
}
|
||||
};
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
//定义抽象类指针
|
||||
Figure *pF=NULL;
|
||||
// Figure f1; 抽象类不能被实例化
|
||||
Rectangle r;
|
||||
Trianle t;
|
||||
t.set(10,20);
|
||||
pF=&t;
|
||||
pF->area();
|
||||
r.set(10,20);
|
||||
pF=&r;
|
||||
pF->area();
|
||||
//定义抽象类引用
|
||||
Figure &rF=t;
|
||||
rF.set(20,20);
|
||||
rF.area();
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user