我有这个Word.cc就像操作单词的字符串类.我重载了operator <<作为友元函数,但是当我不断得到这个"Word的地址a()将评估为真".你能否评论一下我可能出错的地方?我在main中使用的代码如下.
int main()
{
Word a();
cout<<a;
return 0;
}
Word::Word()
{
init("");
}
void Word::init(char *c,char *stoppers)
{
char *temp="\0";
if(c==NULL)
c=temp;
size=strlen(c)==0 ? DEFAULT_SIZE :(strlen(c)+1+DEFAULT_SIZE)/DEFAULT_SIZE*DEFAULT_SIZE;
wd=new char[size+1];
delimiters=new char[strlen(stoppers)+1];
strcpy(wd,c);
strcpy(delimiters,stoppers);
count=strlen(wd);
}
ostream & operator<<(ostream &out,const Word &b)
{
out<<b.wd;
return out;
}
Run Code Online (Sandbox Code Playgroud)
最烦恼的解析:
Word a();
Run Code Online (Sandbox Code Playgroud)
应该
Word a;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
320 次 |
| 最近记录: |