对象赋值的一般形式为
对象名1=对象名2
对象的赋值代码举例
#include<iostream>
using namespace std;
class box
{
public:
box(int=10,int=10,int=10);
int volume();
private:
int height;
int width;
int length;
};
box::box(int h,int w,int len)
{
height=h;
width=w;
length=len;
}
int box::volume()
{
return(height*width*length);
}
int main()
{
box box1(15,30,25),box2;
cout<<"the volume of box1 is"<<box1.volume()<<endl;
box2=box1;
cout<<"the vloume of box2 is"<<box2.volume()<<endl;
return 0;
}
对象的复制两种方法
1 类名 对象2(对象1)
类名 对象名1=对象名2
对象的赋值是对一个已经存在的对象赋值,因此必须先定义被赋值的对象,才能进行赋值,而对象的赋值则是从无到有地建立一个新对象,并使它与一个已有的对象完全相同。
普通构造函数和复制构造函数的区别
(1)在形式上
普通构造函数的声明 box(int h,ing w,int len)
复制构造函数的声明 box(box &b)
(2)在建立对象时,实参类型不同。
box box1(12,15,16);实参为整数,调用普通构造函数
box box2(box1); 实参是对象名,调用复制构造函数
程序待敲