如何使成员函数返回对象本身
2017-04-09 20:24
232 查看
问题描述
今天遇见一个问题,即编写一个日期类 使得用户输入日期后 程序能输出下一天, 那么 如何使得计算后返回对象本身呢 ?最后查资料得 利用this指针 返回对象本身的引用
##代码演示
class Date { private: int m_year; int m_month; int m_day; public: Date(int year, int month, int day) { m_year = year; m_month = month; m_day = day; } void print_Date() { cout<<m_year<<"\t"<<m_month<<"\t"<<m_day<<endl; } Date& opra_next() { m_day++; if (m_month == 12) { if (m_day > 31) { m_day = m_day % 31; m_month++; m_month = (m_month % 12); } } else if (m_month == 1 || m_month == 3 || m_month == 5 || m_month == 7 || m_month == 10) { if (m_day > 31) { m_day = m_day % 31; m_month++; } } else if (m_month == 4 || m_month == 6 || m_month == 9 || m_month == 11) { if (m_day > 30) { m_day = m_day % 30; m_month++; } } else { if (m_day > 28) { m_day = m_day % 28; m_month++; } } return *this; } }; int main() { int y, m, d; cout << "please iput year month day" << endl; cin >> y >> m >> d; Date nextday(y, m, d); nextday.opra_next(); nextday.print_Date(); system("pause"); return 0; }
相关文章推荐
- c++函数调用的返回值在函数调用栈上如何传递给调用者(返回大对象时)
- C++成员函数返回对象的引用
- jquery中ajax如何返回值到上层函数的方法以及对于js处理json对象方法的记录
- [C/C++]函数如何返回struct或class对象
- c++对象成员函数返回自身引用时出现的诡异问题及解决办法
- c++对象成员函数返回自身引用时出现的诡异问题及解决办法
- C/C++函数如何返回struct或class对象
- C/C++函数如何返回struct或class对象
- 如何动态保存不同类的对象的成员函数的地址?--解决(续)
- [C/C++]函数如何返回struct或class对象
- 结合上面的五个例子,对类的静态成员变量和成员函数作个总结: 一。静态成员函数中不能调用非静态成员。 二。非静态成员函数中可以调用静态成员。因为静态成员属于类本身,在类的对象产生之前就已经存在了,所
- 【面向对象程序设计常见面试题】如何定义和实现一个类的成员函数为回调函数?
- C++对象模型之编译器如何处理函数返回一个对象
- C++之不同对象的成员函数如何引用指定对象的数据成员
- C++对象布局及多态之虚成员函数如何调用
- 类成员函数返回对象和返回引用的区别
- C++对象模型之编译器如何处理函数返回一个对象
- 类1(this指针/const成员函数/类作用域/外部成员函数/返回this对象的函数)
- Java反射 类类型就是可以操作的类本身 如何通过反射得到函数 函数返回值 函数参数
- C++编译器是如何管理类和对象的,类的成员函数和成员变量