//5.29 #include<iostream> using namespace std; class Circle{ public: void setr(int x) { r=x; } virtual void show()=0; protected: int r; }; class Area:public Circle { public: void show() {cout<<"这个圆的面积是:"<<3.14*r*r<<endl; } }; class Perimeter:public Circle { public: void show() {cout<<"这个圆的周长是:"<<2*3.14*r<<endl; } }; int main() { Circle *ptr; Area ob1; Perimeter ob2; ob1.setr(10); ob2.setr(10); ptr=&ob1; ptr->show(); ptr=&ob2; ptr->show(); return 0; }
时间: 2024-03-30 15:39:40 浏览: 110
静态存储器读延时寄存器位描述-word.origins.the.secret.histories.of.english.words.from.a.to.z
这是一个使用C++语言实现的简单程序,定义了一个名为Circle的类,其中包含了一个成员变量r和一个虚函数show(),并且show()函数被声明为纯虚函数,即这个类为抽象类,不能被实例化。
程序还定义了两个派生类Area和Perimeter,它们分别继承了Circle类,并且实现了show()函数,分别用于计算圆的面积和周长。
在主函数中,定义了一个指向Circle对象的指针ptr,并且创建了Area和Perimeter对象ob1和ob2,分别设置它们的半径为10。然后将ptr指向ob1,调用show()函数计算并输出圆的面积;将ptr指向ob2,调用show()函数计算并输出圆的周长。
这个程序通过使用虚函数和多态性的特性,简单地实现了计算圆的面积和周长的功能。
阅读全文