Ser*_*gey 0 c++ operator-overloading
出于学习目的,我正在用C++创建大整数类.有2个文件:
big_int.h
#ifndef BIG_INT_H
#define BIG_INT_H
#include
class big_int
{
public:
big_int(void);
big_int(char*);
big_int(QString);
~big_int();
big_int operator+(big_int);
big_int operator-(big_int);
big_int operator*(big_int);
big_int operator/(big_int);
};
#endif // BIG_INT_H
Run Code Online (Sandbox Code Playgroud)
big_int.cpp
#include "big_int.h"
big_int::big_int()
{
}
big_int::big_int(QString str)
{
}
big_int::~big_int()
{
}
big_int operator+(big_int b)
{
return big_int();
}
big_int operator-(big_int b)
{
return big_int();
}
big_int operator*(big_int b)
{
return big_int();
}
big_int operator/(big_int)
{
return big_int();
}
Run Code Online (Sandbox Code Playgroud)
Qt Creator返回:C:/ Documents and Settings/Admin/My Documents/calculator_1_0/big_int.cpp:31:error:big_int operator /(big_int)必须带两个参数.但是operator /只需要1个参数.怎么了?
根据@TheSamFrom1984的建议指定类名.
或者为运营商提供两个参数big_int.
class big_int
{
public:
big_int(void);
big_int(char*);
big_int(std::string);
~big_int();
friend big_int operator+(big_int, big_int);
friend big_int operator-(big_int, big_int);
friend big_int operator*(big_int, big_int);
friend big_int operator/(big_int, big_int);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
822 次 |
| 最近记录: |