我已经声明了下面的一个类是头文件:
class Complex
{
private:
int real;
int imaginary;
public:
Complex(); // no arg contructor
Complex(int,int); // 2 - args constructor
Complex(const Complex& temp); // copy constructor
};
不,我正在尝试再次声明复制构造函数,我知道它可以工作,但希望拥有更多功能,但是当我将其代码包含在实现文件中时它不起作用。这是来自实现文件的代码。
Compelx::Complex(const Complex& temp) // copy constructor
{
real = 2*temp.real;
imaginary =2*temp.imaginary;
}
在main()
我有以下代码
Complex a,b;
a.setReal(10);
cout<<a.getReal()<<endl;
b=a; // problem is here, copy constructor(that is redefined one) is not being executed.
b.print();
复制构造函数没有执行,而是我收到以下错误:
1> Complex.cpp 1>Complex.cpp(21):错误 C2653:“Compelx”:不是类或命名空间名称 1>Complex.cpp(21):错误 C2226:语法错误:意外类型“复杂”1> Complex.cpp(22):错误 C2143:语法错误:缺少 ';' '{' 之前 1>Complex.cpp(22): 错误 C2447: '{' : 缺少函数头(旧式正式列表?) 1> main.cpp 1> 生成代码... ======= === 构建:0 成功,1 失败,0 最新,0 跳过 ==========