一个让我比较困惑的问题 c++ inheritence# Programming - 葵花宝典
k*s
1 楼
也算是c++老手了,今天遇到一个和奇怪的问题,具体
见以下程序。关键是set(),set2()的结果不同,也就是
set : ((c_base*)this)->operator[](i) = p;
set2: ((c_base)*this).operator[](i) = p;
的区别在那里?(set2无法改变数组元素)
我用的是linux, gcc 3.4.6,结果是:
0 : 1
1 : 2
2 : 3
0 : 1
1 : 2
2 : 3
0 : 1
1 : 0
2 : 3
见以下程序。关键是set(),set2()的结果不同,也就是
set : ((c_base*)this)->operator[](i) = p;
set2: ((c_base)*this).operator[](i) = p;
的区别在那里?(set2无法改变数组元素)
我用的是linux, gcc 3.4.6,结果是:
0 : 1
1 : 2
2 : 3
0 : 1
1 : 2
2 : 3
0 : 1
1 : 0
2 : 3