实验三
由于我把内容写成了文章形式,而随笔不支持复制粘贴,所以这次实验内容我做成了插入代码的样式,还望见谅。
验证试验:类在面向对象程序设计中,构成程序模块,可以描述一类事物的共同特征。而类的对象实际上就是类的一种特殊情况。构造函数和析构函数则是类中的成员函数。
其中,构造函数负责实现程序结果,而析构函数负责完成对象被删除前的清理工作。
4-11 定义并实现一个矩形类,有长,宽两种属性,用成员函数计算矩形面积。
#include<iostream> using namespace std; class Rectangle{ //矩形类定义 public: //外部接口 rectangle(int Long,int Wide); //构造函数 void square(); //计算矩形面积 private: //私有数据成员 double l,w; //矩形长和宽 }; //类的实现 //构造函数初始化成员数据rectangle Rectangle::rectangle(int Long,int Wide){ l=Long; w=Wide; } //计算矩形的面积 void Rectangle::square(){ cout<<l*w; } //主体函数的实现 int main(){ Rectangle s; //定义对象myRectangle int l,w; cout<<"Please enter the long and wide "<<endl; //提示用户输入长和宽 cin>>l>>w; s.rectangle(l,w); s.square(); //计算面积 return 0; }
4-20 定义一个复数类complex,是得下面代码能够工作。 Complex c1(3,5); Complex c2=4.5; c1.add(c2); c1.show();
#include<iostream> using namespace std; class Complex //指定函数类定义 { public: //外部接口 Complex(double x,double y); //有虚部时初始化a,b Complex(double x); //重载函数,无虚部时初始化a void add(Complex &c); //复制构造函数计算和 void show(); //输出值 private: double a,b; }; Complex::Complex(double x,double y){ a=x; b=y; } Complex::Complex(double x){ a=x; } void Complex::add(Complex &c){ a+=c.a; b+=c.b; } void Complex::show(){ cout<<a<<'+'<<b<<'i'; } int main() { Complex c1(3,5); Complex c2=4.5; c1.add(c2) ; c1.show(); //输出值 return 0; }