4-11定义并实现一个矩形类,有长,宽两种属性,由成员函数计算矩形面积。

本题使用类和成员函数,先定义一个矩阵的类,然后类中的函数包括初始化长和宽的值、计算长和宽并显示出来。

#include<iostream>
using namespace std;
class squre
{
public:
void enter(int nlength=0,int nwidth=0); //初始化长和宽的值
void renter();//计算面积的值
private:
int length,width;
};
void squre::enter(int nlength,int nwidth)
{
length=nlength;
width=nwidth;
}
void squre::renter()
{
cout<<length*width;
}
int main()
{
int x,y;squre s;
cout<<"please enter the length and width:";
cin>>x>>y;//输入长和宽的数值
cout<<endl<<"the squre's area is:";
s.enter(x,y);
s.renter();
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(float x,float y);//有虚部时,初始化a,b的值
Complex(float x);//重载函数, 无虚部时 初始化a的值
void add(Complex &c);// 复制构造函数计算和
void show();//输出值
private:
float a,b;
} ;
Complex::Complex(float x,float y)
{
a=x;
b=y;
}
Complex::Complex(float 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 on 2018-04-07 16:58  语风不修仙  阅读(91)  评论(4编辑  收藏  举报