我正在自己完成一本 O'reilly 教科书,现在正在上课。这是逐字复制的编程练习:
“练习 13-1:编写一个奇偶校验类。该类提供了一个名为 put 的成员函数,它计算提供的元素的数量。如果调用了偶数个 put,则另一个成员函数 test 返回 true,否则返回 false。成员函数:
void parity::put( );
//计数另一个元素
bool parity::test( );
//true
如果已完成偶数个放置,则返回。返回false
奇数。
我相信我对我的程序有正确的想法。我完成了它,它没有错误,但它不能正常工作并且有一个断点。这是我的代码:
#include <iostream>
#include <cstdlib>
class parity {
private:
int count; //number of puts done.
public:
void init();//initialize the put
void put(const int item); //count another element
bool test( ); //return true of even number of puts have been done. Return false for an odd number
};
inline void parity::init()
{
count = 0;
}
inline void parity::put(const int item)
{
count = item;
++count;
}
inline bool parity::test()
{
if (count % 2 == 0)
{
return true;
std::cout << "Amount of puts is even";
}
else
{
return false;
std::cout << "Amount of puts is not even";
}
}
int main ()
{
parity a_parity;
a_parity.init();
a_parity.put(1);
a_parity.put(2);
a_parity.put(3);
a_parity.test();
return 0;
}
我相信错误出在我的parity::put
成员函数中,但我不知道。任何建议将不胜感激。谢谢