我想创建一个完全模仿内置类型的c ++类型。下面是“整数”类型的示例,其“装入”“int”类型。我遇到的问题是,我想仅使用独立的“整数”对象d来显示“整数”的值,这样cout<< d将显示该值,而不是cout<< d.show();我该怎么做?
#include <iostream>
class integer {
public:
integer (int x) { i = x; };
integer ( ) { }; // default constructor
integer operator+ (integer& c ){
return integer(i + c.i);
}
int show ( ) { return i; }
private:
int i;
};
int main ( ) {
integer i = 5;
integer c (10);
integer d;
d = i + c;
std::cout << d.show() << std::endl;
std::cin.get();
return 0;
}
答案 0 :(得分:5)
您可以重载operator <<
来执行此操作:
ostream& operator <<(ostream& stream, const integer& myInteger)
{
return stream << myInteger.show();
}
并制作show
const
。