TODOPIC
Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: dragondgold en 23 de Febrero de 2012, 18:36:40
-
Buenas trades, estoy practicando un poco de C++ con los operadores 'new' y 'delete'. Ya cree clases con estos operadores de la siguiente manera:
Datos *PtrA = new Datos ("Juan Jose", "de las Nieves");
Datos *PtrB = new Datos ("Fulanito", "de Torti");
Hasta aqui todo bien y pude usar las funciones de la clase Datos. Pero ahora queria hacer un array de la clase datos con el operador new de esta manera:
Datos *PtrC = new Datos[20] = {"Nombre1","Apellido1","Nombre2","Apellido2",...};
Pero provocoa un error de compilacion, tambien intente separarlos en parentesis:
Datos *PtrC = new Datos[20] = {("Nombre1","Apellido1"),("Nombre2","Apellido2"),...};
Y me dice que C++ no soporta la asignacion de los datos en la declaracion con el operador new. Pero si no los declaro me sucede lo mismo.
Datos *PtrC = new Datos[20];
Tambien provoca un error de compilacion. Como hago entonces declarar un array de tipo Dato (que es la clase) y asignarle los datos al constructor ?
Saludos !!
-
no seria Datos *PTRC[] = new ?
-
No tampoco funciona :?.
-
y
Datos *ptrc[] = new {Datos("nombre","apellido"),Datos("nombre1,"apellido1")};
-
No :? Me dice que se espera un calificador de tipo despues de new (como deberia ser) entonces probe agregandolo pero tampoco :?
Ambos dan error:
Datos *PtrC[] = new {Datos("nombre","apellido"),Datos("nombre1","apellido1")};
Datos *PtrC[] = new Datos {Datos("nombre","apellido"),Datos("nombre1","apellido1")};
-
en ejemplos he visto cosas como estas:
MyClass obs[4] = { MyClass(-1), MyClass (-2),
MyClass (-3), MyClass (-4) };
quizas sea que no se puede declarar usando el metodo de punteros con new ya otra cosa no se me ocurre a no ser que pongas ptrc[0]=new datos(x,x); ptrc[1]=new datos(y,y); ...
-
MerLiNz efectivamente asi se crean pero necesito asignarlo dinamicamente a travez de new alguna forma debe existir estoy seguro seguire investigando haber que encuentro y si descubro como les comento.
Saludos !!
-
y así?
Datos PtrC[] = { new Datos("nombre","apellido"), new Datos("nombre1","apellido1")};
o
Datos PtrC[] = new Datos[2];
PtrC[0] = new Datos("nombre","apellido");
PtrC[1] = new Datos("nombre1","apellido1");