Make My Ostream!

Make My OStream 题解

山中何事,松花酿酒,春水煎茶

Description:自由实现代码,使得下面的代码,以及相关的代码的结果成立:所有需要待实现的东西都已经在代码中。
另外,iostream 和 sstream已经禁用,因此需要用cstdio里面的一些东西来实现效果。已知mypres的精度不超过6//其实也就是练习输出下面的东西int main()
{const char *test1 = "Test char";myout << test1 << myendl;myout << test1[0]<< myendl;double e = 6.12345;int pres = 1;myout << mypres(pres*2);//setprecision(2),2位有效数字myout << e << myendl;myout << myfixed ;//改为定点输出,即2位小数myout << e << myendl;int d=15;myout << d << myendl;myout << myhex << d << myendl;
}Sample Output
Test char
T
6.1
6.12
15
f
Hint
不需要交main函数Problem Source: poetry

思路一:期末复习题

这个学期学了好多东西啊..满满干货的日子快要到头了(误)..

于是大大给出了一道class和流结合,官方题解为构造class来实现的神奇题目

具体”考点”如下:

  • 运算符重载

    这道题明显重载左移运算符<<,但是和模板不同的是,这道题重载左移运算符的目的不同,一般是实现流输出比如std::cout << "Hello World" << std::endl;但是这道题重载返回的不是流,而是要求实现输出功能.

    //P17 模板
    friend <函数类型> operator <运算符> (形参表)
    {
    函数体;
    } 
    //一般对输出流重载
    ostream& operator<< (ostream& stream,类名 &other)//重载输出流
    {stream << 格式化输出内容;return stream;
    }

    但是这道题黑掉了cout.题意也就变成了通过cstdio


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部