我们都知道类的设计是C++的基本思想,面向对象设计的重点就是如何将一个实体抽象成一个类,并定义它的成员方法来实现它的各种行为,定义它的成员变量来描述它的各种属性,这些都是C++最基础的东西,不再赘述,这篇博客主要是来说明C++的一个类应该具有的最基础的成员方法,也是最通用的方法。
一、代码例
开始分析之前先给出一个类,然后按照类中涉及的成员方法来进行分析,当然如果没有对这个进行了解的话可以跳过代码直接看下面的部分,然后再对照着看:
class String
{
public:
//构造函数
String(const char *ptr = nullptr)
{
if (ptr != nullptr)
{
mpstr = new char[strlen(ptr) + 1];
strcpy(mpstr, ptr);
}
else
{
mpstr = new char[1];
*mpstr = '\0';
}
}
//左值引用的拷贝构造
String(const String &str)
{
mpstr = new char[strlen(str.mpstr) + 1];
strcpy(mpstr, str.mpstr);
}
//右值引用的拷贝构造
String(String &&str)
{
mpstr = str.mpstr;
str.mpstr = nullptr;
}
//赋值重载
String