|
|
1
26
当您在一个类中声明一个与超类同名但签名不同的函数时,名称解析规则规定编译器应该 别看了 对于您试图在找到第一个匹配项后调用的函数。按名称查找函数后, 然后 它应用重载解析规则。
|
|
|
2
17
他说:你需要 极其 2:这里的超载规则有点古怪。编译器首先查找派生类,如果找到 重载相同的名称,它将停止在那里查看。只有在派生类中未找到重载时,它才会在基类中查找。 一个简单的解决方案是将基类所需的函数引入派生类的命名空间:
|
|
|
3
9
通过在派生类中定义具有相同名称但参数不同的函数,隐藏了基类的擦除成员函数。 http://www.parashift.com/c++-faq-lite/strange-inheritance.html#faq-23.9 |
|
|
4
6
首先,永远不要从STL容器派生,因为没有STL容器定义虚拟析构函数。
|
|
|
5
5
考虑是否真的要从std::map继承。在我编写代码的所有时间里,这比STL存在的时间要长,我从未见过一个实例,其中从std::container继承是最好的解决方案。 是 有 多重地图。 |
|
|
6
3
喜欢组合而不是继承。 C++ Coding Standards Sutter/Alexandrescu在这方面有完整的章节(#34),以及 Google points to many good references 关于这个问题。 看来有一个 SO thread on the topic as well . |
|
|
7
1
对于那些使用 Effective C++ |
|
|
8
1
我同意其他人的意见,即您需要非常小心地继承STL类,并且几乎应该始终避免。 然而,这个问题可能会出现在其他一些基类中,从这些基类继承是完全合理的。
|
|
|
9
0
要以可移植的方式替换_super,请在类的顶部定义一个typedef,如下所示:
当然,它不需要是“家长”。它可以是您喜欢的任何名称,只要在整个项目中始终使用它。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |