#include <iostream>
using namespace std;
class Ref{
//p_data will be copied into _data1 by value
//int _data1;
int &_data2;
public:
// This would reference _data to the parameter named p_data
// not the variable i from main()
// Ref(int p_data):_data2(p_data){
// }
// pass the reference of p_data to _data2
// so now _data2 is an alias for i
Ref(int &p_data):_data2(p_data){
}
ostream& print(ostream& os)const{
return os<<_data2;
}
};
ostream& operator<<(ostream& os,const Ref& C){
return C.print(os);
}
int main(){
char* s[] = {"Sdsd", "dfdf"};
char as[] = "Sadsd";
cout<<s[1]<<endl;
cout<<as<<endl;
int i = 10;
Ref R(i);
cout<<R<<endl;
i = 234;
cout<<R<<endl;
return 0;
}