⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc中定义一个链表类.txt

📁 图像处理学习的一些心得
💻 TXT
字号:
在mfc的经典总结3中

软件开发思想发的一个程序在我这里不能使用,大家帮忙检查一下。我改变了//重点在这儿为CinfoA但是有编译器内部错误,然后尝试把CinfoA定义为
class CinfoA : CpartAlist 然后把CPartA的定义改为class CPartA : public COblist
但是似乎也不好用,大家帮我看看源程序是不是那里有错误。应该怎么修改。谢谢~~~在线等~~~~~ 
 
 
  
2.链表
自已定义一个.h文件,然后,在里面加入类的定义
class CPartA : public CObject
{
public:
	CPartA() {}
	virtual ~CPartA() {}

	int m_a;
	int m_b;
	CString m_c;
	int m_d;   
};

typedef CTypedPtrList<CObList, CPartA*> CPartAList;//重点在这儿

class CInfoA
{
public:
	CInfoA() {}
	virtual ~CInfoA();

	BOOL AddData(int a, int b, CString c, int d); //用于加入数据的
	
	CPartA  m_objects;
};
在.cpp里

CInfoA的析构
CInfoA::~CInfoA()
{
	POSITION pos = m_objects.GetHeadPosition();

	while (pos != NULL)
		delete m_objects.GetNext(pos);
}

//加入到链表
CInfoA::AddData(int a, int b, CString c, int d)
{
	CPartA* pPart = new CPartA();

	pPart->m_a = a;
	pPart->m_b = b;
	pPart->m_c = c;
	pPart->m_d = d;
	
	m_objects.AddTail(pPart);

	return TRUE;
}

自已来引申,一定对你有用处的,当你在程序中要用到这个链表时
你只要在.h里定义
CInfoA  m_InfoA
在.cpp里
m_Info.AddPart(1, 2, "ddd", 3);
就可以加入了

3.遍历这个链表
你在程序中的函数加入下面的语句即可

POSITION pos;

pos = m_InfoA.m_objects.GetHeadPosition();
while (pos != NULL)
{
	CPartA* pPart = m_InfoA.m_objects.GetNext(pos);
         if (pPart->m_a != 0)
            ........
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -