📄 aggregates.cpp
字号:
// AGGREGATES.cpp: implementation of the AGGREGATES class.////////////////////////////////////////////////////////////////////////#include "StdAfx.h"#include "DESCRIPTION.h"#include "AGGREGATES.h"//////////////////////////////////////////////////////////////////////// Construction/Destruction//////////////////////////////////////////////////////////////////////AGGREGATES::AGGREGATES(){ m_nCls=2; m_Data=NULL;}AGGREGATES::~AGGREGATES(){ if(m_Data!=NULL) { for(int i=0;i<m_Descript.GetNumAttr();i++) { if(m_Data[i]!=NULL) { for(int j=0;j<m_Descript.GetNumValues(i);j++) delete m_Data[i][j]; } delete m_Data[i]; } delete m_Data; }}AGGREGATES::AGGREGATES(const AGGREGATES& aggr){ m_nCls=2; m_Data=NULL; (*this)=aggr;}void AGGREGATES::operator=(const AGGREGATES& aggr){ Initialize(aggr.m_Descript); for(int i=0;i<m_Descript.GetNumAttr();i++) { for(int j=0;j<m_Descript.GetNumValues(i);j++) { memcpy(m_Data[i][j],aggr.m_Data[i][j],sizeof(double)*m_nCls); } }}void AGGREGATES::Initialize(const DESCRIPTION& descript){ if(m_Data!=NULL) { for(int i=0;i<m_Descript.GetNumAttr();i++) { if(m_Data[i]!=NULL) { for(int j=0;j<m_Descript.GetNumValues(i);j++) delete m_Data[i][j]; } delete m_Data[i]; } delete m_Data; } m_Descript=descript; m_Data=new double**[m_Descript.GetNumAttr()]; for(int i=0;i<m_Descript.GetNumAttr();i++) { m_Data[i]=new double*[m_Descript.GetNumValues(i)]; for(int j=0;j<m_Descript.GetNumValues(i);j++) { m_Data[i][j]=new double[m_nCls]; memset(m_Data[i][j],0,sizeof(double)*m_nCls); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -