社区
C语言
帖子详情
STL容器怎么不能包容抽象类?
anglely168
2002-08-13 07:51:38
我在MFC里可以用CPtrList连接一堆抽象类CDbObject,但用STL怎么不能用vector或者list?如list<CDbObject>,难道要我自己再仿真MFC写个类CPtrList?
...全文
91
7
打赏
收藏
STL容器怎么不能包容抽象类?
我在MFC里可以用CPtrList连接一堆抽象类CDbObject,但用STL怎么不能用vector或者list?如list,难道要我自己再仿真MFC写个类CPtrList?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
anni
2002-09-09
打赏
举报
回复
我这有源码,给我留个言,我发给你
Tommy
2002-08-14
打赏
举报
回复
确实是用指针比较好,不过绝对不要用auto_ptr! FAQ上都写得很清楚了,这也就不重复了
zheng_can
2002-08-13
打赏
举报
回复
没问题的
不过最好用指针(STL 不支持引用的语义)
当然,用 auto_ptr 之类的 smartptr 也是可以的
这也避免了 new delete 方面的问题
freesmile
2002-08-13
打赏
举报
回复
要多态当然要指针拉 不过指针又带来内存管理的难题 可以看看楼上那个FAQ
nk_rainfall
2002-08-13
打赏
举报
回复
最好的解决方法是在容器中存入这个类的指针,因为指针是可以指向子类实例的,不然你这个容器毫无意思。
anrxhzh
2002-08-13
打赏
举报
回复
http://www.csdn.net/Expert/FAQ/FAQ_Index.asp?id=136
freesmile
2002-08-13
打赏
举报
回复
假如STL容器可以装抽象类,那么下面的代码将会调用A的缺省构造函数,然而
抽象类不能有实例,所以。。
#include <list>
using namespace std;
class A{
public :
virtual foo()=0;
};
void main()
{
list<A> a(10);
}
朱老师C++课程第3部分3.2.
STL
的
容器
类和迭代器
不怕学不会,就怕你不学习。 *思路清晰、语言风趣,对着视频看也不会想睡觉······ *视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。 *基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。 *系列课程。本...
C++中
STL
为什么要使用迭代器?
1、通过迭代器访问
容器
,可以避免许多错误,同时还能隐藏
容器
的具体实现。 2、迭代器可以保证对所有
容器
的基本遍历方式,都是一样的,实现算法时若需要遍历,则使用迭代器,则可以不用关注
容器
的具体类型,实现数据...
STL
概论
STL
概论 什么是
STL
STL
六大组件
STL
是开源的
STL
是
包容
的 为什么要学习
STL
STL
和泛型
摘自:http://sttony.blogspot.com/search/label/C%2B%2B10
STL
和泛型程序设计by Danny Kalev简介泛型程序设计
STL
头文件的组织
容器
算法迭代器数字库工具
容器
顺序
容器
STL
容器
包含元素的要求
容器
类vector
容器
重分配...
STL
与泛形程序设计
ANSI/ISO C++ 程序员手册:
STL
和泛型程序设计 作者: [转载]Danny Kalev 2007-09-27 面向对象设计对代码重用提供了有限的形式继承和多态。泛型程序设计风格可以有更高层次的可重用性。与数据隐藏不同,它依赖数据...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章