一道C++的问题 请高手帮帮忙 小弟我感激不尽啊

设计一个计数器类Calculator它只有一个用于计数的数据成员count 该计数器的有效计数范围是0~65535 实现计数器的前自增,后自增,前自减,后自减,两个计数器相加减等运算 是用VC++6.0编的 这题太难了 一点都不会啊 郁闷啊

第1个回答  2009-12-02
题目不是很难。重点用面向对象的思维来考虑这个问题。

需要的主要知识点,就是关于运算符的重载的相关知识点。重点看一下C++的相关章节。这个题不难的。本回答被提问者采纳
第2个回答  2009-12-02
class Calculator{
private:
unsigned int count;
public:
Calculator(void):count(0){}
Calculator(unsigned int ct):count(ct){}
unsigned int getCount(void)
{
return count;
}
Calculator& operator++()
{
++count;
if (count>65535) {
count%=65535;
}
return *this;
}
Calculator& operator--()
{
--count;
if (count>65535) {
count=65535;
}
return *this;
}
Calculator operator++(int)
{
Calculator ret(count);
++*this;
return ret;
}
Calculator operator--(int)
{
Calculator ret(count);
--*this;
return ret;
}

Calculator& operator+= ( Calculator &a)
{
count+=a.getCount();
return *this;
}
Calculator& operator-= ( Calculator &a)
{
count-=a.getCount();
return *this;
}
};

Calculator operator+ (Calculator &a, Calculator &b)
{
Calculator rt(a.getCount());
rt+=b;
return rt;
}
Calculator operator- (Calculator &a,Calculator &b)
{
Calculator rt(a.getCount());
rt-=b;
return rt;
}

求高手解答C++入门问题!!!
b=10(b得到的是值,所以不会改变,)pA=11(地址为2000的值,当然是11了)这就是指针的作用,分析问题最好以每个“;”一句一句来分析。

C++中map<char*,char*>问题,高手指点下,小女子感激不尽
因为, map查找char *实际是根据指针地址是否相同来比较的. 比如说"a", 编译器认为两个"a"是相同的, 并且一开始就分配在了内存中, 所以他们的地址是相同...其他两种, 指针地址改变了, 虽然指向的都是a字符串

C++程序设计 整除问题,高手进
1、void count(int*a,int *n)定义一个无返回值的函数count,它有两个形式参数,第一个是指针a,指向int型数据,第二个是指针n,指向int型数据。2,3、参看注释 void countValue(int *a,int *n){ int i;n=0; \/\/n指向的内容赋值为0 for(i=1;i<=1000;i++){ if((i%7==0&&i%...

...谁能帮帮我!!!急啊!谁能救救我 啊!感激不尽!!
while(1){ 取系统时间 if( 满足你的时间要求 )执行文件保存 }

请教有关c++指针问题?
但这个问题怎么解决呢?答案是动态分配技术。注意这在C和C++中是不同的。由于大多数程序员都是用C++,所以我用到的是C++中常用的称谓。动态分配 动态分配是指针的关键技术。它是用来在不必定义变量的情况下分配内存和让指针去指向它们。尽管这么说可能会让你迷惑,其实它真的很简单。下面的代码就是一个为一个整型数...

...请高手帮忙给出实际的编程代码。。感激不尽呀!!!
void hfmtree ( huffnode ht[] ) 是用来建立一课哈夫曼树的,其他函数,视需要可删除 include<stdio.h> include<string.h> define maxsize 10000 \/*编码函数中,被编译的字符串的最大长度*\/ define max 10000 \/*最大字符的个数*\/ typedef struct \/*定义一个huffnode结点 *\/ { char data;...

我是个女孩,正在学习c++,感觉非常吃力,求助各位高手,传授经验,到底应该...
我理解的C++程序,是由算法和语法构成。算法就是方法,就好像是数学中的函数,它是程序的核心,所以在写程序之前,你首先要明确程序的算法才行。语法相对来说比较简单,只要你平时好好看一些基础的书,应该问题不大。另外平时多注意搜集一些经典的程序,如用到for语句的杨辉三角,用到switch的输出一年12...

求助!C++中类的构造函数与创建动态对象的问题!
第一段代码 类a中你没有些构造函数,因此,编译器会替你自动添加一个默认的构造函数: a(void){},所以你在第一段的main函数中p = new a;时,实际上调用的是这个默认的构造函数a(void){},当然不需要参数。第二段代码你自己写了构造函数,编译器就不会替你添加默认的构造函数,所以在main...

...栈计算后辍表达式值的程序,请把错误和为什么错写出来,感激不尽...
\/\/int calculation(String B,pseqstack pastack) String C里没有这个类型的,C++里是string,改成char*试了下 int calculation(char* B,pseqstack pastack){ \/\/char a[];数组声明时必须有确定的大小,因为不知道大小,我就瞎写了个 char a[1000];\/\/int i,n,a,b,c;上面已经定义了一个...

...C++高手帮我在代码中添加收费找续代码和取卡号码代码,感激不尽...
class Account { public:Account( float=0 );~Account();void creatAccount();\/\/---创建账户--- void addBalance( float );void setBalance( float );float getBalance();void setNumber( int );int getNumber();private:float _balance;\/\/---余额 int _number;\/\/---卡号 };\/\/--- Acc...

相似回答