构造函数的重载与复制构造函数
构造函数的重载
函数的重载:功能相似的不同函数取相同的函数名。
原来不同的函数必须取不同的函数,C++中有了函数的重载后,不同的函数可以取相同的函数名。就减少了标识的使用,提高的程序的可读性。
不同构造函数的重载与复制构造函数
构造函数的重载
函数的重载:功能相似的不同函数取相同的函数名。
原来不同的函数必须取不同的函数,C++中有了函数的重载后,不同的函数可以取相同的函数名。就减少了标识的使用,提高的程序的可读性。
不同的函数取相同的函数名的条件是:1、函数参数的个数不同;2、函数参数的类型不同。
默认(缺省)的构造函数:一个类中如果没有定义构造函数,系统会提供一个默认的不带参数的构造函数;但是如果类中定义构造函数,系统就不再提供默认的不带参数的构造函数。
由类生成对象时,必须调用与之相匹配的构造函数:例如下面的程序中
#include "iostream"
using namespace std;
class Circle
{
protected:
double r; //圆的半径
public:
Circle() //无参构造函数
{r=1;};
Circle(double a)//带一个参数的构造函数
{
r=a;
}
double area()
{
return *r*r;
}
};
int main()//程序 的执行总是从main()开始
{
Circle c1; //调用Circle的不带的构造函数
Circle c2();//调用是不Circle类中的带一个参数的构造函数
cout<<"圆的面积为:"<<()<<endl;
return 0;
}
Circle c1; //要求调用类Circle的不带的构造函数
Circle c2();//要求调用是不Circle类中的带一个参数的构造函数
如果类中没有与相匹配的构造函数,程序就会出错。
任务:一定义一个长方形类,输出长方形的面积.(20140418)
要求: 长方形的数据成员长(length)和宽(wide)的值是通过构造函数赋值的。
程序的输出结果为:
长方形r1的面积为:36;
长方形r2的面积为:200;
长方形r3的面积为:256;
部分代码如下:
#include "iostream"
using namespa
构造函数的重载与复制构造函数 来自淘豆网m.daumloan.com转载请标明出处.