标题:请问怎么调用拷贝构造函数
只看楼主
y529879803
Rank: 1
等 级:等待验证会员
帖 子:65
专家分:7
注 册:2016-11-10
 问题点数:0 回复次数:3 
请问怎么调用拷贝构造函数
#include<iostream.h>
#include<conio.h>      //getch()要用到此头文件
#include<stdlib.h>     //system("cls")清屏函数用到此头文件
#include<string.h>
#include<math.h>



class fushu
{
public:
fushu (double A,double B,char C,char D,double E,double F)
{a=A;
b=B;
c=C;
d=D;
e=E;
f=F;
cout<<"构造函数被调用"<<endl;
}

fushu (fushu& p)
{
a=p.a;
b=p.b;
c=p.c;
d=p.d;
e=p.e;
f=p.f;
cout<<"拷贝构造函数被调用"<<endl;
}

~fushu()
{
cout<<"析构函数被调用"<<endl;
}
void jisuan (){
if (d=='+')
cout<<a+e<<"+"<<b+f<<"i"<<endl;
if (d=='-')
cout<<a-e<<"+"<<b-f<<"i"<<endl;
if (d=='*')
cout<<a*e-b*f<<"+"<<b*e+a*f<<"i"<<endl;
if (d=='/')
cout<<a*e-b*f/(e*e+f*f)<<"+"<<b*e+a*f/(e*e+f*f)<<"i"<<endl;
}



private:
double a;
double b;
char c;
char d;
double e;
double f;
};

int main()
{
double A;
double B;
char C;
char D;
double E;
double F;
cin>>A>>B>>C>>D>>E>>F;
fushu p (A,B,C,D,E,F);
p.jisuan();   
}



好奇怪,我的拷贝构造函数好像没调用啊,请问应该怎么改呢,我有点懵
搜索更多相关主题的帖子: include public system double 
2017-04-03 16:37
y529879803
Rank: 1
等 级:等待验证会员
帖 子:65
专家分:7
注 册:2016-11-10
得分:0 
我输入  1+3i+5+7i,
输出是

构造函数被调用
6+10i
析构函数被调用

那我的拷贝构造函数怎么没了...

碧蓝航线真好玩
2017-04-03 16:42
y529879803
Rank: 1
等 级:等待验证会员
帖 子:65
专家分:7
注 册:2016-11-10
得分:0 
我以后一定多看看书.......拷贝函数要再创造一个对象用在参数里填之前的对象名,似乎是这样

碧蓝航线真好玩
2017-04-03 17:00
y529879803
Rank: 1
等 级:等待验证会员
帖 子:65
专家分:7
注 册:2016-11-10
得分:0 
int main()
{
double A;
double B;
char C;
char D;
double E;
double F;
cin>>A>>B>>C>>D>>E>>F;
fushu t (A,B,C,D,E,F);
fushu z (t);
z.jisuan();
}

碧蓝航线真好玩
2017-04-03 17:00



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




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

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