3
在Eclipse中,我可以重寫Object的toString()方法來打印它。這是特別有用的,因爲在調試會話期間,我可以單擊變量並以人類可讀形式查看對象。相當於Eclipse中的toString()用於GDB調試
gdb會話期間是否有任何類似的C++。我也開放給任何可以模擬這種行爲的IDE。
在Eclipse中,我可以重寫Object的toString()方法來打印它。這是特別有用的,因爲在調試會話期間,我可以單擊變量並以人類可讀形式查看對象。相當於Eclipse中的toString()用於GDB調試
gdb會話期間是否有任何類似的C++。我也開放給任何可以模擬這種行爲的IDE。
在gdb中,print命令打印變量的內容。如果你使用C++的任何IDE,例如。 Netbeans,Eclipse,VC++然後指向變量顯示內容。
編輯:看看下面的代碼是你在找什麼。
#include <string>
using std::string;
#define magic_string(a) #a
template<typename T>
class Object_C
{
private:
virtual string toString_Impl()
{
return magic_string(T);
}
public:
Object_C(void)
{
}
virtual ~Object_C(void)
{
}
string toString()
{
return toString_Impl();
}
};
class Base_C :
public Object_C<Base_C>
{
private:
string toString_Impl()
{
char str[80] = "";
sprintf_s(str, 79, "Base.x:%d\n", x_);
return string(str);
}
private:
int x_;
public:
Base_C(int x = 0) : x_(x) { }
~Base_C(void);
};
void ToStringDemo()
{
Base_C base;
cout << base.toString() << endl;
}
也許我應該澄清一下,我想爲每個變量類型編寫自己的打印函數,以便以合理的方式打印它。 – aramadia 2010-02-16 14:27:05
我不明白你的代碼示例如何與原始問題相關。 gdb print函數是否查找名爲toString的方法? – thejoshwolfe 2015-05-23 22:32:50