实验三

由于我把内容写成了文章形式,而随笔不支持复制粘贴,所以这次实验内容我做成了插入代码的样式,还望见谅。

验证试验:类在面向对象程序设计中,构成程序模块,可以描述一类事物的共同特征。而类的对象实际上就是类的一种特殊情况。构造函数和析构函数则是类中的成员函数。

其中,构造函数负责实现程序结果,而析构函数负责完成对象被删除前的清理工作。
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;
}

 

posted @ 2018-04-07 20:38  春风十里五千米  阅读(123)  评论(3编辑  收藏  举报