一.示例代码
#include<iostream>
using namespace std;
class Time
{
int hour;
int min;
int sec;//秒
public:
Time(int hour = 0, int min = 0, int sec = 0)
{
this->hour = hour;
this->min = min;
this->sec = sec;
}
void Print()
{
cout << this->hour << ":" << this->min << ":" << this->sec << endl;
}
//重新定义加号的作用
Time operator+(int min)//加分钟
{
Time t(*this);//创建一个新的Time对象t作为当前对象(*this)的副本。
t.min += min;
if (t.min > 59)//检查时间正确性
{
t.hour += (t.min / 60);
if (t.hour > 23)
t.hour /= 24;
t.min %= 60;
}
return t;
}
};
问题1:c++符号重载是不是就是重新定义符号的作用。
是的,C++中的符号重载(operator overloading)是指在类中重新定义某些运算符的行为。通过符号重载,可以使得某个运算符在不同情况下具有不同的行为,从而提高代码的灵活性和可读性。符号重载实际上就是重新定义符号的作用,让其具有不同的功能。例如,可以重载"+"运算符来实现类对象的相加操作,或者重载"<<"运算符来实现类对象的输出操作等。符号重载是C++中的一种重要特性,可以让程序员自定义类的行为,使得代码更加灵活和易于理解。