浅谈类的几个基础构造函数
Posted xiguas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈类的几个基础构造函数相关的知识,希望对你有一定的参考价值。
通过例子来介绍下C++类的几个基础构造函数。
我们以一个C类型的字符串为例:
class myString { public: myString(const char* rhs = 0); // 默认(含参)构造函数 myString(const myString& rhs); // 拷贝构造函数 myString(myString&& rhs) noexcept; // 移动构造函数 myString& operator=(const myString& rhs); // 拷贝赋值函数 myString& operator=(myString&&) noexcept; // 移动赋值函数 ~myString(); // 析构函数 private: char* m_data; };
(一)、我们定义一个myString类,仅包含一个char* 的指针。先来看看它的默认构造函数:
inline myString::myString(const char* rhs) { if (rhs) { m_data = (char*)new char[strlen(rhs) + 1]; strcpy_s(m_data,strlen(rhs)+1, rhs); } else { m_data = new char[1]; *m_data = ‘