 
View Full Version : [C++] Array inizializzato dentro campo 'private' di una classe....
Salve a tutti.... non sono mai stato attivo cosė tnt su un forum...sopportatemi ancora una settimana...č per un progetto....
Cmq perchč non posso inizializzare un array dentro campo 'private' di una classe?
In questo modo intendo:
class mesi
{
private:
   string mes [12] = { "Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno",
                "Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"}; 
public:
    ...
};
zakmckraken
16-02-2010, 21:49
Come da titolo!
ah vero.....mi sto fondendo il cervello davv...quindi dichiaro la variabile ad es. mes dentro private e la inizializzo con un costruttore dentro public...ok grazie mille
Per fare una inizializzazione devi usare le liste di inizializzazione.
Se vuoi assegnare semplicemente il valore allora lo puoi fare anche all'interno del blocco di codice del costruttore.
In ogni caso per quel vettore utilizzerei un campo static. 
A quel punto lo inizializzi cosė:
string mesi::mes [12] = { "Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno",
                "Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"};
bobby1112
26-05-2010, 10:08
stesso problema classe Map.h
#ifndef MAP_H
#define MAP_H
#define MAX_SIZE 36
class Map {
private :
		 char A[MAX_SIZE][MAX_SIZE];
public :
	Map();
	void  setMap();   //carico la mappa
	char* getMap();  // restituisce la mappa di gioco
};
#endif
classe Map.cpp
#include "Map.h"
Map::Map()
{
char Map::A[36][36]={
/*0*/   "*************  ********************",
/*1*/   "*           *  *                  *",
/*2*/   "*           *  *                  *",
/*3*/   "*       **  *  **                 *",
/*4*/   "*   **      *  **                 *",
/*5*/   "*           *  *                  *",
/*6*/   "*     ***   *  *                  *",
/*7*/   "*           *  *        *  ****** *",
/*8*/   "*           *  *        *         *",
/*9*/   "*           *  *        *         *",
/*10*/  "*           *  **********         *",
/*11*/  "*              *        *         *",
/*12*/  "*                       *         *",
/*13*/  "*                                *",
/*14*/  "*            * *        *         *",
/*15*/	"***********************************",
	 //  01234567890123456789012345678901234
};
}
void Map::setMap()
{
	//vettore[0]="1";
}
char* Map::getMap()
{
char* b;
return b;
}  
mi da errore sulla inizializzazione di A
 ridichiarazione della funzione membro non consentita
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.