如果不会变魔术,就不要说“没有指针,反正也什么东西都能实现”
例如 我们有class animal;
class people:public class animal; (人是动物的一种)
class monkey:public class animal; (猴子也是动物的一种)
下面开始变魔术了,有一个魔术柜子叫magic:
magic(class animal ×) {}
我们放进一个美女:
class animal * m;
class people * p;
m = p;
magic(m);
结果打开箱子,再看看m,
m->getname() = monkey;
美女变成了猴子。
我们用了指针,其实魔术柜子里只是转变了指针的指向,美女还是美女,正在后台喝水呢。
如果你用了引用,注意,所谓引用总是指向初始化所指向的值。你改变了引用,对象本身同时被改变。如上面的魔术柜。
如你用引用来调用magic();
那么结果那个可爱的美女真的变成了一只猴子!!!
例如 我们有class animal;
class people:public class animal; (人是动物的一种)
class monkey:public class animal; (猴子也是动物的一种)
下面开始变魔术了,有一个魔术柜子叫magic:
magic(class animal ×) {}
我们放进一个美女:
class animal * m;
class people * p;
m = p;
magic(m);
结果打开箱子,再看看m,
m->getname() = monkey;
美女变成了猴子。
我们用了指针,其实魔术柜子里只是转变了指针的指向,美女还是美女,正在后台喝水呢。
如果你用了引用,注意,所谓引用总是指向初始化所指向的值。你改变了引用,对象本身同时被改变。如上面的魔术柜。
如你用引用来调用magic();
那么结果那个可爱的美女真的变成了一只猴子!!!