标题:求助:请高手给分析一下程序流程
只看楼主
天子狂鹰
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-12-1
 问题点数:0 回复次数:3 
求助:请高手给分析一下程序流程
#include<iostream.h>
class A
{protected:int x,y;
public:
   A(int x1=0,int y1=0)
   {x=x1;y=y1;}
   A(A &s){x=s.x;y=s.y;
           cout<<"*****1"<<endl;
   }
   A &operator=(A &s)
   {x=s.x;
   y=s.y;
   cout<<"*****2"<<endl;
   return *this;
   }
   void display()
   {cout<<x<<y<<endl;}
   ~A(){cout<<"out class A!"<<endl;}
};
void fn(A s)
{cout<<"*****3"<<endl;
s.display();
}
main(){A a(1,1),b(2,2);
A c=a;
fn(a);
a=b;
}
最好详细一点,谢谢
搜索更多相关主题的帖子: 流程 int 
2007-12-24 14:20
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
A c=a;
这一句调用拷贝构造函数
a=b;
这一句调用赋值操作符函数

剩下的都很简单,还要注意析构函数的顺序

专心编程………
飞燕算法初级群:3996098
我的Blog
2007-12-25 04:12
pzj636484
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-10-27
得分:0 
A a(1,1),b(2,2);//调用构造函数A(int ,int )
A c=a;//调用函数A &operator=(A &s)
fn(a);//调用函数void fn(A s)
a=b;//调用函数A &operator=(A &s)
2007-12-25 07:10
Lonelie
Rank: 1
来 自:xmu
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-12-13
得分:0 
A a(1,1),b(2,2);//调用两次普通构造函数
A c=a;//初始化,调用拷贝构造函数
fn(a);//初始化s,调用拷贝构造函数,退出fn调用析构函数,析构s
a=b; //赋值,调用operator=
析构c
析构b
析构a
2007-12-26 21:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-194048-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.548739 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved