首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问一个函数的实现

2012-03-09 
请教一个函数的实现?#includeiostream.h#includestring.h#includeconio.hclassbinary{charbits[16]

请教一个函数的实现?
#include   <iostream.h>
#include   <string.h>
#include   <conio.h>

class   binary   {
char   bits[16];
        public:
binary(char   *);
binary(int);
friend   binary   operator   +   (binary,   binary);
operator   int();
void   print();
};

binary::binary(char   *num)   {
        int   isrc   =   strlen(num)   -   1;
        int   idest   =   15;
        while(isrc   > =   0   &&   idest   > =   0)
bits[idest--]   =   (num[isrc--]== '0 '? '0 ': '1 ');

        while(idest   > =   0)
bits[idest--]= '0 ';
}

binary::binary(int   num)   {
        for(int   i   =   15;   i   > =   0;   i--)   {
bits[i]   =   (num   %2   ==   0? '0 ': '1 ');
num   > > =   1;
        }
}

binary   operator   +   (binary   n1,   binary   n2)   {
        unsigned   carry   =   0;
        unsigned   value;
        binary   res   =   "0 ";

        for(int   i   =   15;   i   > =   0;   i--)   {
value   =   (n1.bits[i]   ==   '0 '?0:1)   +   (n2.bits[i]   ==   '0 '?0:1)   +   carry;
res.bits[i]   =   (value%2   ==   0   ?   '0 ': '1 ');
carry   =   value> > 1;
        }
        return   res;
}


binary::operator   int()   {
        unsigned   value   =   0;
        for   (int   i   =   0;   i   <=   15;   i++)
value   =(               (1)       )   +   (bits[i]== '0 '?0:1);
        return   value;
}

void   binary::print()   {
        char   str[17];
        strncpy(str,   bits,   16);
        str[16]   =   '\0 ';
        cout   < <   str   < < "\n ";
}

int   main()   {
        binary   n1   =   "1011 ";
        binary   n4   =   int(n1)   +   15;

        cout < < "n4... " < <endl;
        n4.print();
 
        return   1;
}
请教高手(1)处应该填写什么代码?

[解决办法]
value < <1
[解决办法]

value < <1

热点排行