Chinaunix首页 | 论坛 | 博客
  • 博客访问: 373026
  • 博文数量: 57
  • 博客积分: 4020
  • 博客等级: 上校
  • 技术积分: 647
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-17 15:57
文章分类

全部博文(57)

文章存档

2009年(22)

2008年(35)

我的朋友

分类: C/C++

2008-09-04 16:16:16

C++类和对象(拷贝构造函数)
1、三种调用【拷贝构造函数】的情况:
   情况一 当用类的一个对象去初始化该类的另一个对象时。
   情况二 如果函数的形参是类的对象,调用函数时,进行实参和形象结合时。
   情况三 如果函数的返回值是类的对象,函数调用完成返回时。
//yuexingtian的【拷贝构造函数】的笔记 

#include

class Point  //Point类的定义
{
public:  //外部接口 
       Point(int xx=0,int yy=0){X=xx;Y=yy;} //构造函数
	   Point(Point &p); //拷贝构造函数
	   int GetX(){return X;}
	   int GetY(){return Y;}
private:
  		int X,Y;  //私有数据
};

Point::Point(Point &p) //成员函数的实现 
{
  X=p.X;
  Y=p.Y;
  cout<<"拷贝构造函数被调用"<void fun1(Point p) //形参为Point类对象的函数 
{ 
cout<//返回值为Point类对象的函数 
{ 
  Point A(1,2);
  return A;
}

void main() //主程序 
{
	Point 
	A(4,5); //第一对象A
	Point B(A); //情况一,用A初始化B。第一次调用拷贝构造函数
	cout<//情况二,对象B作为fun1的实参。第二次调用拷贝构造函数
	B=fun2(); //情况三,fun2的返回值赋给对象B。第三次调用拷贝构造函数
	cout<
运行结果:

2008-08-24

阅读(2035) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~