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<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<<x*y*0.5<<endl;
|
||||
}
|
||||
};
|
||||
class Rectangle:public Figure{
|
||||
public:
|
||||
void area(){
|
||||
cout<<"<EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>"<<x*y<<endl;
|
||||
}
|
||||
};
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
Figure *pF=NULL;
|
||||
// Figure f1; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
|
||||
Rectangle r;
|
||||
Trianle t;
|
||||
t.set(10,20);
|
||||
pF=&t;
|
||||
pF->area();
|
||||
r.set(10,20);
|
||||
pF=&r;
|
||||
pF->area();
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Figure &rF=t;
|
||||
rF.set(20,20);
|
||||
rF.area();
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user