#include
using namespace std;
class CRoom
{
public:
char* name;
int number;
// 构造函数
CRoom(const char* t_name, int t_number) : number(t_number)
{
// 得到输入字符长度
int len = strlen(t_name);
// 动态申请内存
name = new char[len + 1];
// 字符串置零
memset(name, 0, len + 1);
// 赋值
strcpy(name, t_name);
}
// 运算符重载(当前类)
bool operator==(const CRoom& room)
{
if (*name == *room.name && number == room.number)
{
return true;
}
else
{
return false;
}
}
// 运算符重载(当前类)
bool operator!=(const CRoom& room)
{
if (*name != *room.name || number != room.number)
{
return true;
}
else
{
return false;
}
}
// 析构函数
~CRoom()
{
// 删除构造函数中申请的内存
delete[] name;
}
};
int main()
{
// 对象初始化
CRoom room_1("YunLan", 1001);
CRoom room_2("YunLan", 1001);
CRoom room_3("HuiCui", 1002);
// 重载运算符后判断
if (room_1 == room_2)
{
cout << "1号和2号是同一个房间。
" << endl;
}
// 重载运算符后判断
if (room_1 != room_3)
{
cout << "1号和3号不是相同房间。
" << endl;
}
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)