如下内容,求C++编程高手纠错!

#include <iostream> using namespace std; class base { public: virtual void set(); }; class Triangle:public base { public: Triangle(int x=0,int y=0) { height=x; width=y; } void set() { cout<<"三角形面积 "<< height*width/2<<endl; } private: int height,width ; }; class Cicle:public base { public: Cicle(float a=0.0) { radius=a; } void set() { cout<<"圆面积 "<<3.1415*radius*radius<<endl; } private: float radius; }; int main() { Triangle t(4,4); t.set(); Cicle c(10.0); t.set(); return 0; }

猛跑小猪
浏览 142回答 2
2回答

翻过高山走不出你

Cicle(float a=0.0) ,如果是php就没问题你可以利用多态性,写一个同名函数,达到初始化的目的

皈依舞

virtual void set()=0;Cicle c(10.0);c.set(); 是c不是t
打开App,查看更多内容
随时随地看视频慕课网APP