Ehs*_*ank 5 c++ abstract-class class composition
P是一个抽象类,我想让它成为A类的成员,这是一个普通的具体类.有可能,如果是的话.关系是作文感谢您的帮助
您不能创建抽象类的任何对象。所以你不能这样做。
\n但是,您可以拥有一个指向抽象类的指针的类成员。
这里是一个代码示例来证明这一点:
\n\nclass abstract\n{\n virtual void somethiing() = 0;\n};\n\nclass concrete\n{\n abstract obj;\n\n};\nint main()\n{\n return 0;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n汇编:
\n\n\n\n\n\n\nprog.cpp:8: 错误: 无法将字段 \xe2\x80\x98concrete::obj\xe2\x80\x99 声明为抽象类型 \xe2\x80\x98abstract\xe2\x80\x99 \n prog.cpp:
\n
2 : 注意:因为下面的虚函数在 \xe2\x80\x98abstract\xe2\x80\x99 中是纯虚函数:
\n prog.cpp:3: 注意: virtual void abstract::somethiing()
class abstract\n{\n virtual void somethiing() = 0;\n};\n\nclass concrete\n{\n abstract *ptr;\n\n};\nint main()\n{\n return 0;\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2826 次 |
| 最近记录: |