错误 - 复杂::总和的多个声明
Error- Multiple declaration for complex::sum
编译时得到错误错误 - 复杂::sum的多个声明。
#include<iostream.h>
#include<conio.h>
#include<string.h>
class complex
{
float a,b;
public:
complex (float m,float n)
{
a=m;
b=n;
}
complex sum (complex complex);
void show (complex);
};
complex complex::sum (complex c1 complex c2)
{
complex c3;
c3.a=(c1.a)+(c2.a);
c3.b=(c1.b)+(c2.b);
return c3;
}
void complex::show (complex c3)
{
cout<<c.a<<"+"<<c.b<<"i";
}
int main()
{
clrscr();
complex c1,c2,c3 ;
c1=complex(4.2,9.3);
c2=complex(12.5,6.5);
c3=sum(c1,c2);
cout<<"c1="<<c1.show;
cout<<"c2="<<c2.show;
cout<<"c3="<<c3.show;
getch();
return 0;
}
我应该怎么做才能删除complex::sum
错误的多重声明。我正在使用涡轮增压 c++ 4.0 版本。
您需要在此声明中使用逗号
complex sum (complex, complex);
^^
因为该函数使用两个参数。
此外,必须适当地定义函数
complex complex::sum (complex c1, complex c2)
^^^
{
complex c3( c1.a + c2.a, c1.b + c2.b );
return c3;
}
写起来会更正确
/* const */ complex complex::sum ( const complex &c1, const complex &c2 ) const
{
complex c3( c1.a + c2.a, c1.b + c2.b );
return c3;
}
考虑到类没有默认构造函数。
函数 show 应该声明为静态或不带参数,例如
void show() /*const*/;
并且该函数应该像
cout<<"c1="<<c1.show();
^^^
cout<<"c2="<<c2.show();
^^^
终于得到了输出。 这是工作代码
#include<iostream.h>
#include<conio.h>
#include<string.h>
class complex
{
float a,b;
public:
complex (float m,float n)
{
a=m;
b=n;
}
complex sum (complex, complex);
void show (complex);
};
complex complex::sum ( complex c1,complex c2)
{
complex c3(c1.a+c2.a, c1.b+c2.b);
return c3;
}
void complex::show (complex c3)
{
cout<<c3.a<<"+"<<c3.b<<"i";
}
int main()
{ clrscr();
float p,q,r,s;
cin>>p>>q>>r>>s;
complex c3(c3.sum(complex(p,q),complex(r,s)));
cout<<"c3=";
c3.show(c3);
getch();
return 0;
}
相关文章:
- 为什么我不能在一个类的不同行中声明和定义成员变量?
- Visual Studio中的函数声明和函数定义问题
- 在 C++ 中声明和访问 C 库中的结构
- 为什么要将函数声明和定义放在单独的文件中
- 模板中的模板方法 - 实例声明和类方法声明签名不同
- 如何制作 cmakelists.txt编译使用在其他地方声明和实现的函数和类的 CPP
- 关于静态常量数据模因的声明和定义的混淆
- 如何在不为其声明变量的情况下获取和使用常量值的地址?
- C++函数的声明和定义不同,但它运行良好
- 函数-本地枚举声明和 ADL 的交互
- 如何声明和定义具有推导类型的静态成员
- 重复符号 --- 定义和声明之间的差异
- 为什么结构属性声明和初始化顺序的行为是这样的?
- 单独的类声明和方法定义文件问题
- 当程序从该函数调谐器时,指向在函数中声明和定义的某些 C 字符串的指针不再有效.为什么?
- 如何声明和初始化一个特定尺寸向量的2D数组
- 正确的模板声明和实施
- C++中成员名称查找和访问声明中的歧义
- 最终说明符对单独的声明和定义无效
- 头文件中的类声明和实现