template <typename T>
class stnode
{
public:
T nodeValue;
// 结点数据 stnode<T> *left, *right, *parent;
// 指向子树的指针和指向父亲的指针 // 构造函数
stnode (const T& item, stnode<T> *lptr = NULL,
stnode<T> *rptr = NULL, stnode<T> *pptr = NULL):
nodeValue(item), left(lptr), right(rptr), parent(pptr)
{}
};typedef struct tagNewsViewInfo
{
bool bShowTime; //是否显示时间
bool bShowID; //是否显示ID
bool bShowType; //是否显示类型
bool bShowTopic; //是否显示主题(Title)
bool bShowOrigin; //是否显示新闻来源
} NEWSVIEWINFO;
template <typename T>
class stree
{
private:
stnode<T> *root;
// 指向树根
int treeSize;
// 树中的元素数目
}
这里列出的仅是一些简单的:
我的意思是比如我像如像来定义这棵树:
stree<NEWSVIEWINFO> mTree;我想使构造结点类的时候,给这个结点中的结构NEWSVIEWINFO一些初始值,我该如何来改造结点类的构造函数:// 构造函数
stnode (const T& item, stnode<T> *lptr = NULL,
stnode<T> *rptr = NULL, stnode<T> *pptr = NULL):
nodeValue(item), left(lptr), right(rptr), parent(pptr)
{}请高手写详细一点
class stnode
{
public:
T nodeValue;
// 结点数据 stnode<T> *left, *right, *parent;
// 指向子树的指针和指向父亲的指针 // 构造函数
stnode (const T& item, stnode<T> *lptr = NULL,
stnode<T> *rptr = NULL, stnode<T> *pptr = NULL):
nodeValue(item), left(lptr), right(rptr), parent(pptr)
{}
};typedef struct tagNewsViewInfo
{
bool bShowTime; //是否显示时间
bool bShowID; //是否显示ID
bool bShowType; //是否显示类型
bool bShowTopic; //是否显示主题(Title)
bool bShowOrigin; //是否显示新闻来源
} NEWSVIEWINFO;
template <typename T>
class stree
{
private:
stnode<T> *root;
// 指向树根
int treeSize;
// 树中的元素数目
}
这里列出的仅是一些简单的:
我的意思是比如我像如像来定义这棵树:
stree<NEWSVIEWINFO> mTree;我想使构造结点类的时候,给这个结点中的结构NEWSVIEWINFO一些初始值,我该如何来改造结点类的构造函数:// 构造函数
stnode (const T& item, stnode<T> *lptr = NULL,
stnode<T> *rptr = NULL, stnode<T> *pptr = NULL):
nodeValue(item), left(lptr), right(rptr), parent(pptr)
{}请高手写详细一点
解决方案 »
- 在线等:fatal error C1075: 与左侧的 大括号“{”(位于“.\ComSelect.cpp(69)”)匹配之前遇到文件结束
- 关于用MXXMLWriter生成XML文件的问题
- 使用ado打开数据库时数据为什么不会动态更新啊?
- 请教用过DIRECTSHOW的各位!急!
- 发什么消息能知道滚动条的当前位置?
- 极简单问题
- mpeg文件的格式问题???
- 为什么调用winsock2.h中的函数出现连接错误?真着急!
- 声明#include <gl/wglew.h>报下面错误//是缺少.lib吗?
- mfc中画图时如何让在鼠标移动时可以看到图形,而不是松开鼠标时突然出现图形?比如画一条直线,让线段长度随着鼠标移动增长,松开时才停止绘图。
- SDK问题,附源代码,请帮忙,谢谢
- 我用 regsvr32 注册了一个 com 后 查注册表 只在 TypeLib 下生成了项 没有在 CLSID 下生成 为什么呀?
2、如果根据情况有所不同,可以在外部设置好NEWSVIEWINFO相应字段的值才传给stnode
3、故弄玄虚的方法,传NEWSVIEWINFO给stnode时顺便传一个回调接口给它,它使用这个回调接口给NEWSVIEWINFO初始化。总之,这个需求似乎比较奇怪。
typedef struct tagNewsViewInfo
{
bool bShowTime; //是否显示时间
bool bShowID; //是否显示ID
bool bShowType; //是否显示类型
bool bShowTopic; //是否显示主题(Title)
bool bShowOrigin; //是否显示新闻来源
tagNewsViewInfo( const tagNewsViewInfo& Object) ; //拷贝构造函数 编译器会公布
tagNewsViewInfo():bShowTime(false),bShowID(false),bShowType(false),bShowTopic(false),bShowOrigin(false){} //默认构造赋予初值
} NEWSVIEWINFO;
inline tagNewsViewInfo::tagNewsViewInfo( const tagNewsViewInfo& Object )
{
bShowTime = Object.bShowTime;
bShowID = Object.bShowID;
bShowType = Object.bShowType;
bShowTopic = Object.bShowTopic;
bShowOrigin = Object.bShowType;
}
//T可以和其他类型一样构造nodeValue(item),item本身构造是默认的被构造为全部为false的对象
stnode (const T& item, stnode<T> *lptr = NULL,
stnode<T> *rptr = NULL, stnode<T> *pptr = NULL):
nodeValue(item), left(lptr), right(rptr), parent(pptr)
{}
此时已经在c++了不是在c了
typedef 中struct结构是 和类一样的 公开所有接口的类
构造 和 node一样
^_^