你不应继承性病:载体好吧,这确实很难招供,但我现在确实有很大的诱惑要继承。std::vector.我需要大约10个定制的矢量算法,我想让他们成为向量的直接成员。但自然我也希望std::vector作为一个守法的公民,我的第一个想法是std::vector成员MyVector班级,等级。但是,我必须手动重新提供所有STD:VINVERV的接口。打字太多了。接下来,我考虑了私有继承,因此,与其重新提供方法,不如编写一堆using std::vector::member在公共部门。这也很乏味。我在这里,我真的认为我可以直接从std::vector,但在文档中提供一个警告,说明不应以多形性方式使用该类。我认为大多数开发人员都有足够的能力来理解,无论如何都不应该使用这种方法。我的决定完全站不住脚吗?如果是,为什么?你能提供一个有额外成员的替代方案吗?其实成员,但不会涉及重新键入所有向量的接口?我很怀疑,但如果你能的话,我会很高兴的。另外,除了一些白痴可以写一些类似的东西std::vector<int>* p = new MyVector还有其他的吗写实使用MyVector会有危险吗?通过说现实,我放弃了一些东西,比如想象一个函数,它把一个指向向量的指针.我已经陈述过我的案子了。我犯了罪。现在该由你来原谅我了:)
3 回答
![?](http://img1.sycdn.imooc.com/533e4c640001354402000200-100-100.jpg)
慕斯王
TA贡献1864条经验 获得超2个赞
std::vector
MyVector
std::vector
MyVector
std::vector
MyVector
swap()
![?](http://img1.sycdn.imooc.com/5458622b000117dd02200220-100-100.jpg)
不负相思意
TA贡献1777条经验 获得超10个赞
- 3 回答
- 0 关注
- 307 浏览
添加回答
举报
0/150
提交
取消