Kezdőoldal » Számítástechnika » Programozás » Hogyan kell egy már meglévő...

Hogyan kell egy már meglévő tömböt a származtatott osztálynak átadni?

Figyelt kérdés

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 :)


2016. máj. 4. 19:55
1 2
 1/11 anonim ***** válasza:

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.

2016. máj. 4. 20:16
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:
Persze, hogy nem, a számokat a p-be töltöd fel, nem a p1-be. Két teljesen különböző objektumról beszélünk.
2016. máj. 4. 20:17
Hasznos számodra ez a válasz?
 3/11 A kérdező kommentje:

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 ?

2016. máj. 4. 20:39
 4/11 A kérdező kommentje:

#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ó ?

2016. máj. 4. 20:44
 5/11 anonim ***** válasza:
Francokat elfogadható. Nézd, ezt kell megértened. A p és a p1 két egymástól teljesen független objektum. Semmi közük egymáshoz. A feladatod nem az, hogy a p1-ed mágikus módon a p tartalmát írja ki. A sajátját írja ki. Amit elsőként írtál az modnhatni jó, csak a p1-et úgy akarod kiíratni, hogy nem töltöd fel adatokkal.
2016. máj. 4. 20:51
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:
és akkor hogy tudom feltölteni a p1-et a p elemeivel nem mágikus módon ?
2016. máj. 4. 21:07
 7/11 anonim ***** válasza:

Sehogy, senki nem mondta, hogy p elemeivel kell feltölteni.

Töltsd fel teljesen külön.

2016. máj. 4. 21:13
Hasznos számodra ez a válasz?
 8/11 A kérdező kommentje:
tehát ilyenkor fel kell tölteni mindig ha egy származtatott osztályból szeretnék egy új példányt ? szóval egy p1.feltolt(); és kész jelen esetben ?
2016. máj. 4. 21:23
 9/11 anonim ***** válasza:
Az öröklést nem igazán érted... A p1 "fizikai" kapcsolatban nincs a p-vel. Amit a p-ben töltesz fel, azt nem fogod így látni a p1-ben.
2016. máj. 4. 21:24
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:

A példányoknak semmi közük egymáshoz.

Az osztályoknak van.

2016. máj. 4. 21:42
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!