标准模版类比如vector可以被继承吗

我看你有戏 2010-10-18 05:19:34
我想继承一下vector,要怎么弄呢,测试通过给满分
...全文
1837 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
某某9 2010-10-18
  • 打赏
  • 举报
回复
应该是可以的吧
class xx: public vector<int>
{
};
war10811 2010-10-18
  • 打赏
  • 举报
回复
void CVector::f()
{
iterator it = begin();
iterator it_end = end();
while(it != it_end)
{
cout << *it++ << endl;
}
}

手写的,没测试过,差不多这样吧
我看你有戏 2010-10-18
  • 打赏
  • 举报
回复
内部如何遍历呢
我看你有戏 2010-10-18
  • 打赏
  • 举报
回复


在这个类里面如何变量这个vector呢
war10811 2010-10-18
  • 打赏
  • 举报
回复
那啥,模板声明和定义要放同一个文件中,把cpp里的拷到.h里去
war10811 2010-10-18
  • 打赏
  • 举报
回复
可以被继承
不过要注意的是vector<T>类的析构函数不是虚拟的



我看你有戏 2010-10-18
  • 打赏
  • 举报
回复
CVector<stUserLoginInfo> m_vecUser;
定义了这么个变量后就编译通不过了
luciferisnotsatan 2010-10-18
  • 打赏
  • 举报
回复
没测试代码,谁知道要怎么写才能通过
我看你有戏 2010-10-18
  • 打赏
  • 举报
回复
头文件

#pragma once
using namespace std;
#include "vector"

template<class T>
class CVector :public vector<T>
{
public:
CVector(void);
~CVector(void);
};



cpp

#include "StdAfx.h"
#include ".\vector.h"

template <class T> CVector<T>::CVector(void)
{
}
template <class T> CVector<T>::~CVector(void)
{
}

rendao0563 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 henry3695 的回复:]
我想继承一下vector,要怎么弄呢,测试通过给满分
[/Quote]

很常见. 不过继承有成本的. 你要考虑更多的情况. 直接组合是最方便的.
ayw215 2010-10-18
  • 打赏
  • 举报
回复
当然是可以的撒
  • 打赏
  • 举报
回复
可以
class xx: public vector<int>
{
};

template<class T>
class yy:public vector<T>
{
};
taodm 2010-10-18
  • 打赏
  • 举报
回复
好奇你是怎么写的,而能不通过的?

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧