【发布时间】:2010-12-31 16:34:10
【问题描述】:
是否可以从两个不同的抽象类继承同名运算符,但返回类型不同。 如果是这样,他们:
实现运算符的语法是什么
使用/解析运算符的语法是什么
一般情况下的开销是多少,与任何其他虚函数相同?
如果您能提供有用的参考或示例代码
谢谢
12结构抽象矩阵{ 13 virtual double& operator()(int i, int j); 14}; 15 16 结构抽象块矩阵{ 17 virtual double* operator()(int i, int j); 18}; 19 20struct block_matrix:abstract_matrix,abstract_block_matrix { 21 22};块矩阵需要为两个运算符提供实现,以便它是矩阵或块矩阵,具体取决于上下文。我不知道如何提供特定于 block_matrix 类的实现。 现在,它是通过将对象包装类型作为最后一个参数传递来完成的,但这似乎不是很干净。我想保留纯矩阵符号。
【问题讨论】:
-
“虚拟课程”是什么意思?你的意思是虚拟继承?您的意思的代码示例(即使它没有编译)会有所帮助。
标签: c++ inheritance virtual multiple-inheritance