#include
using std::string;
typedef unsigned long DWORD;
class CResString
{
public:
CResString(DWORD nID){
m_Buffer = (char*)malloc(100);
strcpy(m_Buffer,"Chapter %d");
}
void print()
{
if(Beloaded())
printf("%s\n",m_Buffer);
}
protected:
bool Beloaded(){return true;}
char *m_Buffer;
};
class CHeadline : public CResString
{
//构造
public:
CHeadline(DWORD nID, DWORD chapter) : CResString(nID)
{
if(Beloaded())
{
string s = m_Buffer;
string::size_type l = s.find("%d");
if(l != string::npos)
{
char t[32];
sprintf(t,"%d",chapter);
s.replace(l,l+2,t);
free(m_Buffer);
m_Buffer = (char*)malloc(s.length()+1);
memcpy(m_Buffer,s.c_str(),s.length()+1);
}
}
}
};
void main()
{
CHeadline h(1000,15);
h.print();
}
不知道你的CResString类的实现,我随便补了一个。
啥题啊,为何看不见题