} void getage() { cout<<\输入树的树龄:\ cin>>ages; } void showage() {cout<<\该树的年龄是:\};
int main() { Tree ages,years; ages.getage(); ages.grow(5); ages.showage(); return 0; }
8、定义一个复数类,用友元函数实现对双目运算符“+”的运算符重载,使其适用于复数运算。 #include
void Complex::display() { cout< Complex operator+(Complex &c1,Complex &c2) { return Complex(c1.real+c2.real,c1.imag+c2.imag); } int main() { Complex c1(3,4); Complex c2(4,2.3); Complex c3; c3=c1+c2; c3.display(); return 0; } 9、有一个函数如下: x (x<5) y= x+6 (5<=x<15) x-6 (x>=15) 输入x的值,计算出相应的y值。 #include if(x>=15) y=x-6; cout< 10、14、17、使用函数重载的方法定义两个重名函数,分别求出整型数的两数之和和浮点数的两数之和,并在主函数中调用。 #include int main() { int a,b,c; float x,y,z; cout<<\请输入两个整型数:\ cin>>a>>b; cout<<\请输入两个浮点数:\ cin>>x>>y; c=add(a,b); z=add(x,y); cout<<\整型数之和是:\ cout<<\浮点数之和是:\ return 0; } 11、定义一个抽象类shape用以计算面积,从中派生出计算长方形、梯形、圆形面积的派生类。程序中通过基类指针来调用派生类中的虚函数,计算不同形状的面积。 #include public: void show(); protected: double s; }; void Shape::show() { cout<<\面积:\} class Circle :public Shape { public: void GetArea(); Circle(double); private: double r; }; Circle::Circle(double a) { r=a; } void Circle::GetArea() { s=r*r*PI; } int main() { Circle C(6); C.GetArea(); C.show(); return 0; } 12、定义计数器类Counter。要求具有以下成员:计数器值;可进行增值和减值记数;可提供记数值。 #include public: Counter(int ); Counter operator ++(); Counter operator --(); void display(); private: int i; }; Counter::Counter(int a) { i=a; } void Counter::display() { cout< Counter Counter:: operator ++() { return Counter (++i); } Counter Counter:: operator --() { return Counter(--i); } int main() { Counter C1(5); cout<<\ ++C1; cout< 13、输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。 #include cout<<\ continue; } i++; } cout< 15、定义一个基类:点类,包括x坐标和y坐标,从它派生一个圆类,增加数据成员r(半径),圆类成员函数包括构造函 数、求面积的函数和输出显示圆心坐标及圆半径的函数。 #include public: int x; int y; Dot(){} }; class Circle:public Dot { private: int r; public: Circle():Dot(){} void get(); void area(); void show(); }; void Circle::get() { cout<<\输入圆心坐标、圆的半径:\ cin>>x>>y>>r; } void Circle::area() { double s=0; s=3.14159*r*r; cout<<\圆的面积是:\} void Circle::show() { cout<<\圆心坐标是:(\ cout<<\圆的半径是:\} int main() { Circle d; d.get(); d.area(); d.show(); return 0; } 16、N个整数从小到大排列,输入一个新数插入其中,使N+1个整数仍然有序。 #include
相关推荐: