c++中的问题关于const的问题

来源:百度知道 编辑:UC知道 时间:2024/05/03 04:57:08
#include<iostream>
using namespace std;
class date
{
int mo,da,yr;
public:
date(int m,int d,int y) {mo=m;da=d;yr=y;}
//返回年份的成员函数
int getyear() const {return yr;}//这里的const能不能换到前面变成int const getyear() {return yr;},为什么?谢谢了

void setyear(int y) {yr=y;}

};
int main()
{
//设置date
date dt(4,1,89);
//使用成员读取年份zi
cout<<"the year is: "<<dt.getyear()<<endl;
//shi yong cheng yuan han shu geng gai nian fen de zhi
dt.setyear(97);

cout<<"the new year is: "<<dt.getyear();

return 0;

}

int getyear() const {return yr;}//这里的const能不能换到前面变成int const getyear() {return yr;},为什么?谢谢了

int getyear() const {return yr;}这是个常成员函数,用于常对象,表示其不能对该对象的成员进行修改。
和const int &getyear() {return yr;} 不同,这表示返回一个int常量引用,该引用的变量值不能被修改!
而你的const写中间代表什么呢?不解你的意思哦!