如何在此代码上应用常量引用参数



这段代码将对象传递给一个函数,我想在这段代码上应用常量引用参数。

class Test
{
int num;
public :
void setNum(int z)
{
num=z;
}//end mutator
int getNum()
{
return num;
}//end accessor
};//end class
void storeNumber(Test &n)
{
int a=10;
n.setNum(a);
}
void displayNumber(Test n)
{
cout<<"number="<<n.getNum()<<endl;
}
int main()
{
Test t;
t.setNum(5);
cout<<t.getNum()<<endl;
storeNumber(t);//pass by reference;
displayNumber(t); //pass by value
cout<<t.getNum();
}

这段代码将对象传递给一个函数,我想在这段代码上应用常量引用参数
任何帮助!!

您可以执行例如void displayNumber(const Test &n),但如果您调用Test类的方法,它们也必须具有const限定符(例如int getNum() const(。如果将Test作为const &传递给函数,则不能使用void setNum(int z)函数,因为它违反了类的constant性。

编辑:

这是完整的代码:

class Test
{
int num;
public :
void setNum(int z)
{
num=z;
}//end mutator
int getNum() const
{
return num;
}//end accessor
};//end class
void storeNumber(Test &n)
{
int a=10;
n.setNum(a);
}
void displayNumber(const Test &n)
{
cout<<"number="<<n.getNum()<<endl;
}
int main()
{
Test t;
t.setNum(5);
cout<<t.getNum()<<endl;
storeNumber(t);//pass by reference;
displayNumber(t); //pass by value
cout<<t.getNum();
}

最新更新