Wenas
... Andaba viendo unos codes y vi algo, que me llamo la atencion... Puesto que no le veo el ¿por que?... Aca les dejo parte del code, que me imagino con eso basta:
BasePoint **objs = new BasePoint*[5];
// allocate space for 10 BasePoint pointers,
// they may be used to store derived classes
// creating objects
objs[0] = new Circle(7, 6, 55);
objs[1] = new Rectangle(12, 54, 21, 14);
objs[2] = new Square(19, 32, 10);
objs[3] = new Oval(43, 10, 4, 3);
objs[4] = new Square(3, 41, 3);
bool flag=false;
do {
cout << endl << "We have 5 objects with numbers 0..4" << endl;
cout << "Enter object number to view information about it " << endl;
cout << "Enter any other number to quit " << endl;
char onum; // in fact, this is a character, not a number
// this allows user to enter letter and quit... (1)
cin >> onum;
// flag -- user have entered number 0..4
flag = ((onum >= '0')&&(onum <= '4'));
if (flag)
objs[onum-'0']->info();//(2)
} while(flag);
// freeing memory
for(int i=0;i<5;i++)
delete objs[i];
delete [] objs;
cin.get();
return 0;
}
Ok... En (1) lo que no capto es, para que un char, segun mi ingles
"permite ingresar un entero y salir" 0o? y que? igual flag no se va a hacer true si declaras onum como int... porq por ejemplo 'A' o 97 (o su valor en ascii) no es menor que 4
Y en (2) pes para que el " -'0' "?
Saludos, esas 2 dudas na mas y pes de antemano gracias...