作者andylin79515 (Andy)
看板EE_DSnP
标题[问题] protected data member
时间Thu Dec 29 00:23:44 2011
刚刚写 final project 遇到奇怪的问题,
我在 CirGate 的 class 内部 多加了 protected data member 後,
CirAigGate 内的 getIn0() 运作变得很奇怪,用 CirGate* 去改动 fanin
都会改失败,用 print(自己在 CirAigGate 加的 function) 取出来的 _in0
跟 getIn0() (原本在 CirGate 内的 virtual function)的结果不同。
(注: _in0() 和 getIn0()() 取到的变成不一样。)
但是一把 protected data 改回原本的版本,又变正常。有点怪怪的。
为了改fanin,我有在 CirAigGate 加了 void setIn0(size_t i) { _in0 = i; }
这个 function ,但是我想应该不是原因。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.244.226
※ 编辑: andylin79515 来自: 140.112.244.226 (12/29 00:25)
1F:→ djshen:getIn0不是回传reference 所以直接改那个没用吧? 12/29 00:25
2F:→ djshen:我好像看错原PO的意思了@@ 12/29 00:26
※ 编辑: andylin79515 来自: 140.112.244.226 (12/29 00:28)
※ 编辑: andylin79515 来自: 140.112.244.226 (12/29 00:32)
3F:推 ric2k1:恩,等我一下... 12/29 00:49