构造函数

Posted 大奔的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数相关的知识,希望对你有一定的参考价值。

 

  1. class String  
  2. {  
  3.     public:  
  4.     String(const char *str=NULL);  
  5.     String(const String& other);  
  6.     String& operator=(const String& other);  
  7.     ~String();  
  8.     private:  
  9.     char *m_data;  
  10. };  
  11. String::String(const char* str)  
  12. {  
  13.     if(str==NULL)  
  14.     {  
  15.         m_data=new char[1];  
  16.         *m_data=‘\0‘;  
  17.     }  
  18.     else  
  19.     {  
  20.         int length=strlen(sizeof(str));  
  21.         m_data=new char[length+1];  
  22.         strcpy(m_data, str);  
  23.     }  
  24. }  
  25. String::String(const String &other)  
  26. {  
  27.     int length=strlen(other.m_data);  
  28.     m_data=new char[length+1];  
  29.     strcpy(m_data, other.m_data);  
  30. }  
  31. String& operator=(const String& other)  
  32. {  
  33.     if(this==&other)  
  34.         return *this;  
  35.     delete []m_data;  
  36.     int length = strlen(other.m_data);  
  37.     m_data=new char[length+1];  
  38.     strcpy(m_data, other.m_data);  
  39.     return *this;  
  40. }  
  41. ~String()  
  42. {  
  43.     delete []m_data;  
  44. }  

以上是关于构造函数的主要内容,如果未能解决你的问题,请参考以下文章

静态构造函数、内部构造函数和公共构造函数有啥区别?

Kotlin类的初始化 ② ( 主构造函数 | 主构造函数定义临时变量 | 主构造函数中定义成员属性 | 次构造函数 | 构造函数默认参数 )

php构造函数的PHP 5 构造函数和析构函数

常见的构造函数类型

构造函数 析构函数 拷贝构造函数 ~~~~~~~~~~构造函数

C# 构造函数总结