#include class A { int a; public: A(int = 0); void DefineA(int); int DameA(void); }; A::A(int x) { a = x; } void A::DefineA(int x) { a = x; } int A::DameA(void) { return a; } class B //agregado { int b; int cant; A m[20]; public: B(void); void DefineB(int); int DameB(void); int DameCant(void); void Ingresa(int); int operator[](int); }; B::B(void) { cant = 0; } void B::DefineB(int x) { b = x; } int B::DameB(void) { return b; } int B::DameCant(void) { return cant; } void B::Ingresa(int x) { m[cant++].DefineA(x); } int B::operator[](int i) { return m[i].DameA(); } void main(void) { B Ob; cout << "Ingrese datos :" << endl; while (1) { int p; cin >> p; if (p<=0) break; Ob.Ingresa(p); } cout << "Datos le¡dos :" << endl; for (int i=0; i