程序设计实习部分习题答案(c++部分)

2017年3月20日5510

实验班作业好多呀。。。因为作业太多了所以就只拿几道比较好的题来讲了

山寨版istream_iterator

呃这题首要的就是在运算符重载应该做什么,在++以及初始化时读入,在*时返回读入的值即可

Code:

为啥 while(cin >> n) 能成立?

这题以及后面的你真的搞清楚为啥 while(cin >> n) 能成立了吗?一样,都是在结构体内定义一个变量来记录是否无数据或读入-1,然后再重载一个bool()运算符即可

Code:

哭死!三维数组类模板增强版!

这道题与之前的三维数组同理,首先要实现一个内部类2Darray,然后把3Darray当做2Darray的数组。2Darray跟3Darray的最重要要重载一个[]以及奇奇怪怪的东西,还是直接看代码吧。

Code:

自己实现bitset

这道题最重要的问题就是如何实现=号,因为储存时使用char所以比较难办,比较好的方法同样也是使用返回一个内部类并在内部类实现重载

Code:

实现sharedptr

智能指针的定义就是当没有指针指向某个元素时,该元素自动执行delete

然后要怎么实现这个方法呢,就把每个元素给予一个计数器,在绑定,解绑等操作时对这计数器进行加减判断即可

%d 博主赞过: