#include <string>
#include <iostream>
using namespace std;
class People {
public:
string name;
People(string name) {
People::name=name;
}
void setName(string name) {
People::name=name;
}
string getName() {
return People::name;
}
};
void invalidRef(People);
void validRef(People*);
int main() {
People p1("p1");
cout <<&p1<<endl;
invalidRef(p1);
validRef(&p1);
return 0;
}
void invalidRef(People p) {
//In this case, object address is overridden by the local variable
cout <<&p<<endl;
}
void validRef(People* _p) {
cout <<_p<<endl;
}