Herencia simple

Solo disponible en BuenasTareas
  • Páginas : 3 (540 palabras )
  • Descarga(s) : 0
  • Publicado : 18 de noviembre de 2010
Leer documento completo
Vista previa del texto
# include <iostream>
# include <cstdlib>
using namespace std;
class Resistencias
{
protected:
int n;
float *R;
public:
Resistencias (int n1);
Resistencias (Resistencias const& R1);
~Resistencias();
void LeerResistencias();
void ImprimirResistencias();
};
Resistencias::Resistencias(int n1)
{
n = n1;
R= new float [n];
}
void Resistencias::LeerResistencias()
{int a;
for (a=0;a<n;a++)
{
cout<<"Ingrese el valor de su resistencia"<<a+1<<":";
cin>>R[a];
}
}
void Resistencias::ImprimirResistencias()
{
int b;
for(b=0;b<n;b++)
{
cout<<"El valor de su resistencia "<<b+1<<"es:\t"<<R[b]<<"\n";
}
}
Resistencias::Resistencias(Resistencias const & R1)
{
n=R1.n;
R=new float [n];int c;
for (c=0;c<n;c++)
{
R[c]=R1.R[c];
}
}

Resistencias::~Resistencias()
{
delete[]R;
}

class Serie:public Resistencias
{
public:
Serie(int n1):Resistencias (n1)
{
}
floatCalcularRTS();
~Serie();
};

float Serie::CalcularRTS()
{
float suma=0.0;
int d;
for (d=0;d<n;d++)
{suma+=R[d];}
return suma;
}

Serie::~Serie()
{
system("pause");
}
classParalelo:public Resistencias
{
public:
Paralelo(int n1): Resistencias (n1)
{
}
float CalcularRTP();
~Paralelo()
{
}
};
float Paralelo::CalcularRTP()
{
float suma=0.0;
int e;
for(e=0;e<n;e++)
{suma+=(1/R[e]);
}
suma=1.0/suma;
return suma;
}
class SerieParalelo:public Serie, public Paralelo
{
public:
SerieParalelo(int n,int n1):Serie(n),Paralelo(n1)
{
}
};
int main()
{
intopc,n;
do
{
system("cls");
cout<<"Seleccione alguna de las siguientes opciones"<<"\n";
cout<<"1. Resistencias en Serie"<<"\n";
cout<<"2. Resistencias enParalelo"<<"\n";
cout<<"3. Resistencias en Serie-Paralelo"<<"\n";
cout<<"4. Salir del programa"<<"\n";
cout<<"Opcion:";
cin>>opc;
cout<<"\n";
switch(opc)
{...
tracking img