STL list mit eigener klasse ????ß
-
Hey leude ,
ich hab folgendes problem:ich will : Eine klasse MUmodul erstellen, die eine STL-Liste enthält, die als elemente
objekte der klasse MUmodulUSER enthält. Aber ich muss die möglichkeit haben die
Objekte der Klasse MUmodulUSER dynamisch zu kreieren.
So, hier mein Code:
//----------------------------------------------------------------------------
MUmodul.h:
#pragma once
#include "ini2.h"
#include "MUmodulUSER.h"
#include <list> // list class library
using namespace std;class MUmodul
{
public:
MUmodul(void);
~MUmodul(void);
void AddUser(CString Login,CString Pw,CString Path,int AccLevel);
MUmodulUSER* GetUserByLogin(CString Login); //Gibt ein Objekt des gefundenen Users zurückprivate:
list<MUmodulUSER*> *userlist;
};
//----------------------------------------------------------------------------
MUmodul.cpp:
#include "StdAfx.h"
#include "MUmodul.h"
#include <list>
#include <stdlib.h>
using namespace std;#ifdef DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE_;
#endifMUmodul::MUmodul(void)
{
list<MUmodulUSER*> *userlist = new list<MUmodulUSER*>;CIni MUmodulINI(_T("MUmodul.ini"),_T("User1"));
userlist->push_front( new MUmodulUSER( MUmodulINI.GetString(_T("login")),MUmodulINI.GetString(_T("pw")),MUmodulINI.GetString(_T("filepath")),MUmodulINI.GetInt(_T("accesslevel"))) );
}MUmodul::~MUmodul(void)
{
}void MUmodul::AddUser(CString Login,CString Pw,CString Path,int AccLevel)
{}
MUmodulUSER* MUmodul::GetUserByLogin(CString Login)
{
list<MUmodulUSER*>::iterator *iter;// iter->
return NULL;
}
//----------------------------------------------------------------------------
DAS PROBLEM IST: ICH KANN MIT DEM ITERATOR "ITER" nicht auf mein Objekt in der liste zugreifen. bei der code vervollständigung kann ich nur auf :
iter->difference_type
iter->iterator
iter->iterator_category
iter->operator *
iter->operator ++
iter->operator --
iter->operator ->
iter->pointer
iter->value_type
iter->referencezugreifen. und ich will ja an mein objekt ran . HILFE
//----------------------------------------------------------------------------
MUmodulUSER.h:
#pragma once
class MUmodulUSER
{
public:
MUmodulUSER(CString Login,CString Pw,CString Path,int AccLevel);
MUmodulUSER(void);
~MUmodulUSER(void);
CString login;
CString pw;
CString path;
int accLevel;};
//----------------------------------------------------------------------------
MUmodulUSER.cpp
#include "StdAfx.h"
#include "mumoduluser.h"#ifdef DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE_;
#endifMUmodulUSER::MUmodulUSER(CString Login,CString Pw,CString Path,int AccLevel)
{
login=Login;
pw=Pw;
path=Path;
accLevel=AccLevel;}
MUmodulUSER::~MUmodulUSER(void)
{
}MUmodulUSER::MUmodulUSER(void)
{}
//--------------------------------------------------------------------------------
-
Habs nur kurz überflogen... Ein Iterator ist fast wie ein Pointer. Du kannst ihn Dereferenzieren mit dem *-Operator, dann hast du das Objekt selbst oder du verwendest den -> Operator um auf einzelne Methoden oder Member zuzugreifen.