人呢?我的问题太简单了吗?

hahatoy 2001-09-11 05:48:05
请问如何创建一个CList的派生类
稍微详细一点
谢了!!!
...全文
71 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hahatoy 2001-09-12
  • 打赏
  • 举报
回复
这个问题是很简单
以上的回答都把问题复杂化了
其实CList<typename TYPE,typename ARG_TYPE>是作为一个整体的,就像一个CString是一个整体一样。所以派生的时候只需要如下:
class YOURCLASS : public CList<baseclassname,baseclassname&>
{
//add your code here;
}
hehe
看来分数要给第一个家伙
hahatoy 2001-09-12
  • 打赏
  • 举报
回复
在kane_yj的基础上我已经改出了一个可用的CList的派生类,在其中可以重载和定义自己需要的函数。源代码如下:
#include <afxtempl.h>
#include <afx.h>
#ifndef _INSIDE_VISUAL_CPP_ItemIDNode
#define _INSIDE_VISUAL_CPP_ItemIDNode
class SelectList
{
public:

CString str;
CTime m_time;

};
typedef CTypedPtrList<CList<SelectList,SelectList&>, SelectList> IndexList;
class MyIndexList : public IndexList
{
public:
int my_index;
int GetCount()//重载
{
return 100;
}
};
#endif
hahatoy 2001-09-12
  • 打赏
  • 举报
回复
非常感谢kane_yj!!!
但是还是有错误,我昨晚也问了一个资深的]C程序员,他说CList的派生比较麻烦,一个简单的方法就是在类中声明一个CList的实例,然后对这个实例进行操作,这样在使用这个类的时候好多时候就需要多加一层。其实我觉得这不能算是一个很正规的派生类。希望kane_yj能有一个运行得了的版本。当然了,做不出也没关系。我知道该把分数给谁。
sam1111的水平估计比我高很多,但是我希望你以后再说之前先自己做一下。不要想当然,很多东西不是靠想当然就行的。我也不知道你的vc是什么版本的。我按照你的方法去试过了,遗憾的是只有选择创建一个mfc类的时候才有一个基类的列表,并且这个基类列表里也没有你所说的CList类。
MSVCer 2001-09-11
  • 打赏
  • 举报
回复
我只知道模板是C++用来部分代替有参宏替换的,是编译器在编译时进行的替换,并不是真正意义上的类,这个问题我做不出来,不知 hahatoy(一只菜鸟飞过来) 对提的问题有何高见,愿闻其详
sam1111 2001-09-11
  • 打赏
  • 举报
回复
好像不难吧?
在ClassView中右键选择new class,class type中选择Generic Class,并输入你的类名,在Base Class列表中的Derived From下添入CList,按OK就生成了一个CList的派生类。
怎么样,两片帖子的分都给我吧?:)
kane_yj 2001-09-11
  • 打赏
  • 举报
回复
#include <afxtempl.h>
#ifndef _INSIDE_VISUAL_CPP_ItemIDNode
#define _INSIDE_VISUAL_CPP_ItemIDNode
class SelectList:public CList
{
public:
int index
};
typedef CTypedPtrList<CList, SelectList*> IndexList;
#endif
hahatoy 2001-09-11
  • 打赏
  • 举报
回复
hehe
谁认为简单就做一个出来。
Jneu 2001-09-11
  • 打赏
  • 举报
回复
sd

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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