这段代码将对象传递给一个函数,我想在这段代码上应用常量引用参数。
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();
}