พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

[C++]virtual base class คืออะไรครับ

+2 votes

เคยเห็นใน code หน้าตาประมาณนี้ครับ

class A
{

};

class B : public virtual A 
{

};

อยากทราบว่าคำว่า virtual คืออะไรครับ แตกต่างจากการ inheritance แบบธรรมดาอย่างไรครับ

ถามเมื่อ May 22, 2012 in C/C++ โดย HuaNaa (455 คะแนน)
   

1 Answer

0 votes
ถ้าผมเข้าใจไม่ผิด case นี้น่าจะมีเฉพาะใน C++ ตอนที่ multiple inherit

เช่น class A มี method Run
class B, C inherit จาก A
class D inherit จาก B และ C (เป็น multiple inherit)

ถ้าไม่ได้กำหนดว่า class B, C virtual inherit จาก A
จะ compile class D ไม่ผ่าน เพราะ class D ไม่รู้ว่า method Run ที่จะ inherit มาจะใช้จาก class B หรือ C (แม้จะ ประกาศใน class A)
ตอบเมื่อ May 22, 2012 โดย Krurkrit Phoosakul (1,174 คะแนน)

Related questions

0 votes
0 คำตอบ
125 views ถามเมื่อ Feb 24, 2014 in VB 6.0 โดย indy (110 คะแนน)
+2 votes
1 คำตอบ
1,423 views ถามเมื่อ May 22, 2012 in C/C++ โดย HuaNaa (455 คะแนน)
+2 votes
1 คำตอบ
+2 votes
1 คำตอบ
418 views ถามเมื่อ May 22, 2012 in C/C++ โดย HuaNaa (455 คะแนน)
...