Hogyan kell egy már meglévő tömböt a származtatott osztálynak átadni?
Készítsen objektum orientált programot, amely egy 10 elemű tömböt billentyűzetről feltölt, majd kiírja a tartalmát. A tömb az osztály tagváltozója, a beolvasás és kiírás metódusok legyenek! Hozzon létre a fenti osztályból egy leszármazott osztályt, amelyben a kiírást úgy módisítja, hogy az indexeket is megjeleníti.
#include <iostream>
#include <stdlib.h>
using namespace std;
#define N 10
class tomb {
protected:
int x[N];
public:
void feltolt()
{
int i;
for (i=0;i<N;i++)
{
cout<<"Kerem adja meg az "<<i<<". elemet"<<endl;
cin>>x[i];
}
}
void kiir()
{
int i;
for (i=0;i<N;i++)
{
cout<<x[i]<<endl;
}
}
};
class index: public tomb{
public:
void kiir()
{
int i;
for (i=0;i<N;i++)
{
cout<<i<<". elem"<<x[i]<<endl;
}
}
};
int main()
{
tomb p;
index p1;
p.feltolt();
p.kiir();
p1.kiir();
system("pause");
}
az index osztály megkreálásnál akad egy kis probléma nem a feltöltött tömbből hozza elő a számokat valaki tudna picit segíteni benne nagy hasznát venném :)
Borzasztóan rosszak mind az osztály, mint a változónevek.
Azt meg nem nagyon értem miért a feltöltött tömbből írná ki az elemeket, mikor az egy teljesen másik objektumban van.
közben erre rájöttem de hogy lehetne akkor ezt a részét a feladatnak megoldani ?
Hozzon létre a fenti osztályból egy leszármazott osztályt, amelyben a kiírást úgy módisítja, hogy az indexeket is megjeleníti.
tehát
class index: public tomb{
public:
void kiir()
{
int i;
for (i=0;i<N;i++)
{
cout<<i<<". elem"<<x[i]<<endl;
}
}
};
tehát akkor ez nem jó származtatás ?
#include <iostream>
#include <stdlib.h>
using namespace std;
#define N 10
class tomb {
public:
int x[N];
public:
void feltolt()
{
int i;
for (i=0;i<N;i++)
{
cout<<"Kerem adja meg az "<<i<<". elemet"<<endl;
cin>>x[i];
}
}
void kiir()
{
int i;
for (i=0;i<N;i++)
{
cout<<x[i]<<endl;
}
}
};
class index: public tomb{
public:
void kiir2(int *f)
{
int i;
for (i=0;i<N;i++)
{
cout<<i<<". elem "<<f[i]<<endl;
}
}
};
int main()
{
tomb p;
index p1;
p.feltolt();
p.kiir();
p1.kiir2(p.x);
system("pause");
}
így működik de ez elfogadható ?
Sehogy, senki nem mondta, hogy p elemeivel kell feltölteni.
Töltsd fel teljesen külön.
A példányoknak semmi közük egymáshoz.
Az osztályoknak van.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!