1.BOOL与0比较的if语句怎么写?
2.字符指针与0比较的if语句怎么写?
3.已知strcpy函数的原型是:
char *strcpy(char *strDest,const char *strSrc);
其中strDest是目的字符串,strSrc是源字符串
(1)不调用字符串库函数,编写出strcpy
(2)该函数能把strDest复制到strSrc为什么还要char *类型的返回值
4.Class string
{
Public:   //公有
String(const char *str=NULL);  //普构
       string &other); //拷构
~string(void); //析函
string &operate=(const string &other); //赋函
Private:  //私有
char * m_data  //用于保存字符串
};
请编写string的上述4个函数请帮忙尽量写详细点!谢谢!

解决方案 »

  1.   

    1.if (flag) // 表示flag为真
     if (!flag) // 表示flag为假
    2.(2)为了增加灵活性如支持链式表达例如:
            char str[20];
    int  length = strlen( strcpy(str, “Hello World”) ); 
      

  2.   

    2.指针
     if (p == NULL) // p与NULL显式比较,强调p是指针变量
     if (p != NULL)上面的2应该是第三题
      

  3.   

    1.BOOL与0比较的if语句怎么写?
    bool flag = false;
    if(0 != flag)
    {    }
    else
    {    }
    2.字符指针与0比较的if语句怎么写?
    char *p = NULL;
    if(p != 0)
    {    }
    else
    {    }
    在C++中对指针来说,赋值0和NULL是一样的。都是指向空。
    3.已知strcpy函数的原型是:
    char *strcpy(char *strDest,const char *strSrc);
    你自己可以做循环。用数组的循环赋值。
    for(int i = 0; i < strlen(strSrc); i++)
    {
        strDest[i] = strSrc[i];
    }
    我只是说明这个意思。编译得不一定对。
    4.Class string
    这个没时间写了,看看别人的吧。
      

  4.   

    1、BOOL i;
    if(i>0).....
      

  5.   

    char *strcpy(char *strDest,const char *strSrc)
    {
        while(*strSrc)
        {
    *strDest = *strSrc;
    strSrc++;
    strDest++;
        }
        *strDest = 0;
        return strDest;
    }
      

  6.   

    2,if(p!=0)
    因为有些NULL并不一定是0