PDA

Visualizza la versione completa : [C++] constructor initializer list


standard
31-07-2003, 17:13
Ciao a tutti,
sto studiando C++, e riesco ad usare la constructor initializer list solo per i tipi di dati primitivi e altre classi (che hanno un costruttore), mentre non riesco ad esempio ad usarla per inizializzare un array...mi domando se sia possibile. es:



...
#include <string>
using namespace std;

class Lib{
string s[3];
public:
//Lib() : s("a","b","c") {} ERRATO
//Lib() : s[0]("a"), s[1]("b"), s[2]("c") {} ERRATO
Lib() {s[0]="a";s[1]="b";s[2]="c";} // OK, ma senza initializer-list
~Lib(){}
};
so che il tipo di dato un puntatore, ma mi domandavo se c'era una qualche sintassi che mi permettesse di piazzare l'inizializzazione dell'array nella initializer list.
c'?

standard
01-08-2003, 12:18
da quanto leggo qui:

http://cpptips.hyperformix.com/cpptips/array_init5

non sembra esserci una soluzione diretta...
vab

ChReAn
01-08-2003, 12:32
Boh, io non fare l'inizializzazione di un array direttamente nella init list, ma all'interno del costruttore cos magari me lo alloco pure dinamicamente. Non conosco metodi per fare ci che chiedi, comunque.

Loading