编程实验
4-11:定义并实现一个矩形类,有长,宽两个属性,由成员函数计算矩形的面积。
源码:
1 #include<iostream> 2 #include<cstdlib> 3 using namespace std; 4 class Rectangle{ 5 public: 6 float area(float l,float w); 7 private: 8 float length; 9 float width; 10 }; 11 float Rectangle::area(float l,float w){ 12 return l*w; 13 } 14 int main() 15 { 16 Rectangle project; 17 float length,width; 18 cout<<"please enter length and width:"; 19 cin>>length>>width; 20 if(length<=0||width<=0) 21 { 22 cout<<"the data entered is beyond the range!"; 23 exit(0); 24 } 25 float result=project.area(length,width); 26 cout<<"the area of the rectangle is "<<result; 27 return 0; 28 }
运行结果:
4-20:定义一个复数类Complex,使得下面的代码能够工作
Complex c1(3,5); \\\\用复数3+5i初始化c1
Complex c2=4.5; \\\\用实数4.5初始化c2
c1.add(c2); \\\\将c1与c2相加,结果保存在c1中
c1.show(); \\\\将c1输出(这时的结果应该是7.5+5i)
源码:
1 #include<iostream> 2 using namespace std; 3 class Complex{ 4 public: 5 Complex(double r=0,double i=0); 6 void add(Complex n); 7 void show(); 8 double real; 9 double imagine; 10 }; 11 Complex::Complex(double r,double i) 12 { 13 real=r; 14 imagine=i; 15 } 16 void Complex::add(Complex n) 17 { 18 real+=n.real; 19 imagine+=n.imagine; 20 } 21 void Complex::show() 22 { 23 cout<<real<<"+("<<imagine<<"i)"; 24 } 25 int main() 26 { 27 Complex c1(3,5); 28 Complex c2=4.5; 29 c1.add(c2); 30 c1.show(); 31 return 0; 32 }
运行结果:
类描述一类事物的共同属性和行为,对象就是该类的某一特定实体。
构造函数的作用是在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态。
析构函数与构造函数相反,用来完成对象被删除前的一些清理工作。
做的比较匆忙,作业里还没有用到复制构造函数,在考虑如何加进去。