normalform.cpp

来自「有计算机图形学、图像处理、dbms、sniffer、中游俄罗斯外挂、othell」· C++ 代码 · 共 80 行

CPP
80
字号
// NormalForm.cpp: implementation of the CNormalForm class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Database.h"
#include "NormalForm.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CNormalForm::CNormalForm()
{
	Count=0;
    c_table=NULL;
}

CNormalForm::~CNormalForm()
{
    CCondition *pCon=c_table;
	CCondition *pNext=NULL;
	while(pCon)
	{
		pNext=pCon->next;
		delete pCon;
		pCon=pNext;
	}
}

void CNormalForm::InsertCondition(CCondition *condition)
{
	++Count;
    if(!c_table)
		c_table=condition;
	else
	{
		condition->next=c_table->next;
		c_table->next=condition;
	}
}

CCondition & CNormalForm::operator [](UINT index)
{
	ASSERT(index>=0 && index<Count);
	CCondition *pCon=c_table;
    for(UINT i=0;i<index;i++,pCon=pCon->next);
	if(pCon)
		return (*pCon);
}

void CNormalForm::DeleteCondition(UINT index)
{
	ASSERT(index>=0 && index<Count);
	--Count;
    CCondition *pPrior=NULL;
	CCondition *pCon=c_table;
	for(UINT i=0;i<index;i++)
	{
		pPrior=pCon;
        pCon=pCon->next;
	}
	if(!pPrior)
	{
		c_table=c_table->next;
		delete pCon;
	}
	else
	{
		pPrior->next=pCon->next;
		delete pCon;
	}
}

⌨️ 快捷键说明

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