在C++中可以传对象引用,比用指针方便,但是为了避免在函数中对象被修改,需要加const限定符,相应的,在实现对象的成员函数时,也要添加cosnt,这样,因为只有cosnt成员函数才能被const对象调用
注意下面的函数test,里面调用了类A的get_name和get_path,所以get_name和get_path必须是const的,而get_path1不需要是const的
#i nclude <string.h>
#i nclude <string>
#i nclude <iostream>
using namespace std;
class A
{
private:
string name;
string path;
public:
A(string _name,string _path){this->name=_name;this->path=_path;};
const string get_name() const {return this->name;};
string get_path() const {return this->path;};
};
void test(const A& testa)
{
cout<<"A::name:"<<testa.get_name()<<endl;
cout<<"A::path:"<<testa.get_path()<<endl;
}
int main()
{
A a("test","path");
test(a);
return 1;
}