通过重载原有<<操作符,修改打印的内容,达到补全诗句的目的。 完整的代码如下: ostream & operator << (ostream & out , const char * pc) ... { string s1(pc); string s2("白日依山尽, "); if (s1 != s2) printf("%s", pc); else printf("白日依山尽, 黄河入海流, 欲穷千里目, 更上一层楼. "); return out;} int main( void ) ... { cout << "白日依山尽, "; return 0;}