您的位置:首页 > 编程语言 > C语言/C++

用C++实现类似JAVA类中的toString函数

2010-12-17 22:57 471 查看
最近在开发时,发现C++的类中没有JAVA类中toString函数,打印对象的信息十分麻烦,就用宏自己实现了一个

主要代码如下

#define PRINT_CLASS_INFO_BEGIN(sstream, className) sstream << "ClassName:" << #className << ", Addr:" << this << "[";

#define PRINT_CLASS_PARA(sstream, para) sstream << #para << " = " << para;

#define PRINT_CLASS_INFO_END(sstream) sstream << "]" << std::endl;

class MyClass

{

public:

virtual string toString();
private:

int m_iPara1;
string m_strPara2;
}

string MyClass::toString

{

stringstream sstream;

PRINT_CLASS_INFO_BEGIN(sstream, MyClass)
PRINT_CLASS_PARA(sstream, m_iPara1)
PRINT_CLASS_PARA(sstream, m_strPara2)
PRINT_CLASS_INFO_END(sstream)

return sstream.str();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: