阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写对应栏内。 【说明】 下面的程序实现了类String的构造函数、析构函数和赋值函数。 已知类String的原型为: class String { public:

admin2009-05-15  30

问题 阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写对应栏内。
【说明】
   下面的程序实现了类String的构造函数、析构函数和赋值函数。
   已知类String的原型为:
class String
{
    public:
          String(coust char * str = NULL); //普通构造函数
          String( const String &other); //拷贝构造函数
          ~String(void); //析构函数
          String & operate =(const String &other); //赋值函数
    private:
          char * m_data; // 用于保存字符串
};
//String 的析构函数
String:: ~String (void)
{
     (1);
}
//String 的普通构造函数
String: :String( const char * str)
{
    if  (2)  
   {
            m_data = new char[1];
            *m_data = ’\0’;
   }
     else
   {
            int length = strlen(str);
            m_data = new ehar[ length + 1 ];
            strepy(m_data, str);
   }
}
//拷贝的构造函数
String:: String( const String &other)
{      int length = strlen(other. m_data);
      m_data = new char[ length + 1 ];
      strepy(m_data, other, m_data); //赋值函数
String & String::operate = (eonst String &other) //
{
     if  (3)  
     return * this;
     delete [] m_clara; //释放原有的内存资源
     int length = strlen( other, m_data);
     m_data = new chart length + 1 ];
       (4);
     return  (5);
}

选项

答案(3)this = =&other

解析 检查自赋值,若this和&other相同,则直接返回*this。
转载请注明原文地址:https://jikaoti.com/ti/7PW7FFFM
0

相关试题推荐
最新回复(0)