C++ Primer(第5版) 练习 17.12
练习 17.12 使用前一题中的数据结构,编写一个函数,它接受一个问题编号和一个表示真/假解答的值,函数根据这两个参数更新测验的解答。
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
#include<iostream>
#include<bitset>
using namespace std;template <size_t N> class exam {public:exam(): s() {]size_t get_size() { return N; }void set_solution(size_t n, bool b) { s.set(n, b); }bitset<N> get_solution() const { return s; }size_t score(const bitset<N> &a);private:bitset<N> s;
};template <size_t N> size_t exam<N>::score(const bitset<N> &a){size_t ret = 0;for(size_t i = 0; i < N; i++){if(s[i] == a[i]){ret++;}}return ret;
}