figure 19.8~10 的一些心得记录类的继承&的库的一些应用

    技术2022-05-19  22

    #ifndef CIRCLE_H #define CIRCLE_H #include<iostream> using std::ostream; #include"point.h" class Circle: public Point{ friend ostream &operator<<(ostream &, const Circle &); public: Circle(double r=0.0,int x=0,int y=0); void setRadius(double);//还是注意这种简略的申明变量的方式 double setRadius()const; double area()const; protected://这种数据类型的特点就是继承类的函数可以直接访问,这个是区别于private变量的一个重要特点 double radius; } #include<iomanip> using std::ios; using std::setiosflags; using std::setprecision; #include"circle.h" Circle::Circle (double r,int a,int b) :Point(a,b) {setRadius(r);}//注意这种构造函数的初始化方法 //注意setiosflags的用法需要上百度仔细学习, //setioflags(ios::fixed|ios::showpoint) /一个典型的输出程序 ostream &operator<<(ostream &, const Circle &c) { output<<"Center = "<<static_cast <Point> ( c )//这一行是类型转行的 <<setiosflags(ios::fixed|ios::showpoint)//这一行是控制输出格式的 <<setprecision(2)<<c.radius;//这个是控制精度输出的 return output; } 


    最新回复(0)