是否需要使用 - >运算符在C 中调用成员函数时
Is it required to use -> operator when calling a member function in C++?
我有一个类似
的类class Date{
public:
Date(int year, int month, int date);
Date(const Date &d);
Date &operator=(const Date &d);
bool isHoliday();
void addDays(int days);
}
在我的addDays()
实施中,我需要致电isHoliday()
。我有以下两个选项,这两个选项似乎都是由编译器允许的。
选项1:
void Date::addDays(int days) {
if (this->isHoliday()) {
// body
}
}
选项2:
void Date::addDays(int days) {
if (isHoliday()) {
// body
}
}
这两个定义之间有区别吗?哪一个是正确的?谢谢。
编辑:引用的重复问题确实回答了我的问题。当我通过->
搜索时,找不到它。我现在无法删除此问题,但请参考该问题以获取很多答案。
这里没有区别。isHoliday()
已经在this
对象上调用该方法。因此明确地说不需要this->isHoliday()
,并且做同样的事情。
在这方面,两者都是"正确使用"的,因为它是个人喜好的。在我工作的地方,我们使用isHoliday()
而不是this->isHoliday()
,因为它会减少代码混乱,但这不是事实上的标准。
相关文章:
- 无法调用成员函数,尝试正确执行此操作仍然失败
- 在 transform() 中调用成员函数
- C++::在构造函数退出之前通过指针调用成员函数
- 为什么我可以通过野生指针调用成员函数
- 从 Qt 中的信号调用成员函数的问题
- 调用C++成员函数指针,而不知道哪个类
- 如何从嵌套在命名空间中的类调用成员函数?
- 无法在非成员函数中调用成员函数
- 为什么分配了 nullptr 的指针可以调用成员函数?
- 通过带有成员函数指针的 QHash 调用成员函数的正确方法
- 使用可变参数模板调用成员函数
- 调用成员对象的构造函数
- 有没有办法在没有括号的情况下在C++中调用成员的getter/setter?
- 如何调用成员初始化器列表中参考成员的构造函数
- 使用按引用调用时,不能在没有对象的情况下调用成员函数 const
- 如果绝对没有调用成员函数,是否允许使用不完整类型的向量?如果是这样,从什么时候开始
- 在另一个成员函数中调用成员函数时'int'之前的预期主表达式
- 为什么调用成员函数不调用该对象的 ODR-USE?
- 如何在模板参数中调用成员
- 是否可以使用 EXPECT_CALL 来验证模拟对象的构造函数是否在某些时候调用成员函数?