Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 14:18

  • Please register to post and access all features, it's quick, easy and FREE!

 

Objekt array mit NULL initialisieren

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2007
Posts: 825
Received Thanks: 32
Objekt array mit NULL initialisieren

hey leute,
habe eine Frage, ich habe eine Klasse cBewohner.
Jetzt soll ich die Klasse cDorf erstellen, hier die Aufgabe dazu.

"Legen Sie die Klasse "cDorf" an, die mit Hilfe des privaten Attributes "Bewohner" realisiert wird. "Bewohner" ist ein Array von Pointern von Objektn der Klasse "cBewohner". Es gibt maximal 10000 Bewohner, die im Standardkonstruktor mit der Konstanten "NULL" vorbesetzt werden, das heisst, zu Beginn ist das Dorf leer. Die Anzahl der Bewohner steht im Attribut Anz(public)

Code:
class cDorf{
	cBewohner* Bewohner;
public:
	int Anz;
	cDorf(){
                Anz = 0;
		Bewohner = new cBewohner[10000];
		for (int i = 0; i<10000; i++)	//ich weiß nicht wie ich hier auf die einzelenen Bewohner mit NULL vorbesetzten soll, egal was ich versuche gibt ein fehler raus
	}
};



Slade100 is offline  
Old   #2
 
elite*gold: 58
Join Date: Jun 2008
Posts: 2,311
Received Thanks: 8,416
Ich glaube eher, dass es so gemeint ist:
Code:
class cDorf{
    cBewohner* Bewohner[10000];
public:
    [...]
    cDorf() : Bewohner{NULL} {
    }
    [...]
}
Zumindest glaube ich dass das so passt, ansonsten musst du halt das Array wie bei dir durchgehen und auf NULL setzen.
Dein Array war nur einfach falsch definiert.

Padmak


Padmak is offline  
Thanks
1 User
Old   #3
 
elite*gold: 0
Join Date: Oct 2007
Posts: 825
Received Thanks: 32
danke erstmal, also das aus dem Text hatte ich auch erst so verstanden wie du, aber der private teil
Code:
 cBewohner* Bewohner;
war schon gegeben also soll das schon so sein. das mit dem array durchgehen habe ich folgende Methoden probiert
Code:
Bewohner[i] = NULL;
und
Code:
&Bewohner[i] = NULL;
und
Code:
Bewohner+i*sizeof(cBewohner)= NULL;
aber nix hat geklappt^^
Slade100 is offline  
Old   #4
 
elite*gold: 0
Join Date: Jul 2015
Posts: 165
Received Thanks: 55
Ich bin kein C++ experte aber das müsste gehen:

Code:
Bewohner[i] = nullptr;


Padrio is offline  
Thanks
1 User
Old   #5
 
elite*gold: 0
Join Date: Oct 2007
Posts: 825
Received Thanks: 32
danke aber klappt nicht^^
Slade100 is offline  
Old   #6
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,256
So hab ich die Aufgabenstellung verstanden und entsprechend realisiert:

Code:
const unsigned int MAX_BEWOHNER_COUNT = 10000;

class cDorf
{
private:
	int m_bewohnerAnzahl;
	cBewohner* m_bewohner[MAX_BEWOHNER_COUNT];
	
public:
	
	cDorf()
	{
		m_bewohnerAnzahl = 0;
		
		for(int i = 0; i < MAX_BEWOHNER_COUNT; i++)
			m_bewohner[i] = nullptr; //NULL
		
	}
}


Logtetsch is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
klassen initialisieren
Hey. wie mche ich es nochmal das wen ich eine klasse erstelle er automatisch eine funktion aufruft
4 Replies - C/C++
Will das Spiel starten und dann kommt NULL NULL
Also wie im titel schon gesagt ist habe ich wenn ich das spiel starten will ein kleines fenster mit zwei "NULL NULL" buttons kann mir jemand helfen...
2 Replies - Kal Online
initialisieren...
Hallo, Ich habe mir von wolfteam s seite den downloader geholt und starte ihn akzeptiere alles blaa und dan steht da nur noch initialisieren... ...
23 Replies - Wolfteam
How to kill Dark Colluseast: Null and Steelation: Null (TT 3-1)?
Can anyone tell me How to kill Dark Colluseast: Null and Steelation: Null (TT 3-1)? :handsdown: After patch 121 or mermaid update, the boss, Dark...
1 Replies - PW Hacks, Bots, Cheats, Exploits



All times are GMT +1. The time now is 14:18.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.