.....好多错误
#include <iostream> using std::cout; using std::endl; class Point{ float x,y; public: Point(float a=0,float b=0) { x=a; y=b; } void SetP(float a=0,float b=0){x=a,y=b;} void Display(){cout<<"位置是:("<<x<<","<<y<<")\n";} }; class Circle:public Point{ float r; public: Circle(float z=1,float x=0,float y=0){r=z;} void SetC(float z=1,float x=0,float y=0){r=z;SetP(x,y);} void Print() { cout<<"圆的"; Display(); cout<<"圆的半径是:"<<r<<endl; } }; void main() { Circle a(3,2); a.Print(); a.SetC(6,8,2); a.Print(); }
我想提个建议,把代码写在一行,我认为是个不好的习惯,造成检查错误的困难。
虽然这样可以使代码看上去短一些,通常在一些书籍中会这样打印,他们这样做的目的是使代码尽可能的在一叶內打印完,使得读者看代码有一个连续性。
不过我们就没必要这样做。请每行只写一句语句,也就是说,分号之后一定换行。这样做的好处是调试时,在每一句执行后都可有停顿,这样每个变量都可互不影响的观察到。
#include <iostream> using namespace std;
class Point { float x,y; public: Point(float a=0,float b=0) { x=a; y=b; } void SetP(float a=0,float b=0) { x=a; y=b; } void Display() { cout<<"λÖÃÊÇ£º£¨"<<x<<"£¬"<<y<<"£©\n"; } }; class Circle:public Point { float r; public: Circle(float z=1,float x=0,float y=0) { r=z; } void SetC(float z=1,float x=0,float y=0) { r=z; SetP(x,y); } void Print() { cout<<"Ô²µÄ"; Display(); cout<<"Ô²µÄ°ë¾¶ÊÇ£º"<<r<<endl; } }; int main() { Circle a(3.2f); a.Print(); a.SetC(6,8,2); a.Print(); return 0; }