#include <iostream>
using namespace std;
class apple{
public:
int id;
public:
apple(int id){
this->id = id;
}
void operator=(apple tmp){
this->id = tmp.id;
}
};
void f1(apple* app){
app = new apple(101);
}
void f2(apple& app){
apple* tmp = new apple(101);
app = *tmp;
}
void f3(apple* &app){
app = new apple(101);
}
void f4(apple app){
apple* tmp = new apple(101);
app = *tmp;
}
int main(){
apple* app = new apple(100);
apple app2 = *app;
//f1(&app2);
//f3(&app2);报错
//apple* c = &app2;
//f3(c);
f4(app2);
//app->id
cout << app2.id << endl;
}
//f1:100
//f2:101
//f3:101
//f4:100
//app2
//f1:100
//f2:101
//f3:错误
//f3:100
//f4:100
#include <iostream>
using namespace std;
class apple{
public:
int id;
public:
apple(int id){
this->id = id;
}
void operator=(apple tmp){
this->id = tmp.id;
}
};
void f1(apple* app){
//app = new apple(101);
app->id = 101;
}
void f2(apple& app){
apple* tmp = new apple(101);
app = *tmp;
}
void f3(apple* &app){
app = new apple(101);
}
void f4(apple app){
apple* tmp = new apple(101);
app = *tmp;
}
int main(){
apple* app = new apple(100);
apple app2 = *app;
//f1(&app2);
//f3(&app2);报错
//apple* c = &app2;
//f3(c);
//f4(app2);
//app->id
f1(app);
cout << app->id << endl;
}
//这个竟然输出101………………