Kezdőoldal » Számítástechnika » Programozás » Osztályok beillesztése más...

Osztályok beillesztése más osztály adattagjaiként? C++

Figyelt kérdés
Nem bírok megérteni egy ilyen feladatot azt hiszem eléggé összetett a 24 órás könyvben le van írva de nem sikerült megértenem.Valaki adna egy magyarázatot és egy kis példával léci.
2011. dec. 28. 18:17
 1/10 anonim ***** válasza:

Az adott adattag típusaként az osztályt kell megadni.

Például, ha van A osztályod, és fel akarod használni B adattagjaként, akkor meg kell adnod egy A típusú attributumot:


private:

___int n;

___float alfa;

___A a;

___char név[50];

...

2011. dec. 28. 19:15
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
És erre mikor van szükség mondjatok egy példát.
2011. dec. 29. 06:08
 3/10 anonim ***** válasza:
ha ezt nem érted akkor kezd újra az OOP-t
2011. dec. 29. 15:21
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:

Üdv.


Példa: Tegyük fel, hogy nem használhatsz STL-t ( jó, a mai világban már hülye lenne, aki nem használja, de most maradjunk ennél ).


Csinálsz egy Láncolt listát ( ez egy mutatókkal összekapcsolt lánc, next(következő), previous(előző), current(jelenlegi), stb adattagokkal, ezekkel az elsőtől, az utolsóig tudsz lépkedni. ), amiben dolgokat tárolsz. De nem akármilyen dolgokat! Hanem egy másik osztály példányait.

Ilyenkor ezt úgy kivitelezed, hogy a lista úgynevezett "csomópontjaiban" (Node) felveszel egy-egy <osztálynév> típusú objektumot, és ennek az adattagjait el tudod érni, értéket tudsz adni nekik, lekérni, stb.


Ennél sajnos nem tudok érthetőbb példával szolgálni. :)

2012. jan. 3. 00:28
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:

Az eddigi példák nagyon jól érthetőek voltak segítettek is azért de sajnos még mindig nem értem eléggé.

És a könyvekben sincs érthetőbben sajnos.


Léci segítsetek jó.

Szánja rá magát valaki arra,hogy írjon egy másik magyarázatot léci.


Na akkor ha vegyük ezt a példát:


class CAT

{

public:

private:

};

//////////////////

class BEALLIT

{

public:

private:

};


Ez az egész amit most írtam az nem túl jó csak azt szeretném ha valaki egy ehhez hasonló példával értettné velem meg.


Ha létrehozok egy CAT osztályt és egy BEALLIT osztályt akkor az,hogyan csináljam meg,hogy a BEALLIT osztály beállítsa a CAT adattagjait.


Tudom nem túl kicsi az amit kérek de már ezzel szenvedek 3 hónapja,hogy ezt megértsem és nemsikerül :(

Segítsetek léci.

2012. jan. 9. 13:29
 6/10 A kérdező kommentje:
Írjatok léci minél többen írnak annál jobb.
2012. jan. 12. 11:33
 7/10 anonim ***** válasza:

Először is általános/ nyelvfüggetlen ismeretetek kellenének az objektum orientálisról. Az OOP mint elméleti modell, a c++ egy gyakorlati alkalmazása ennek a modellnek. Alapvető fogalmakkal kéne tisztában lenni.

Egyáltalán mi az osztály? Mi az objektum? Meg is kérdezem hogy egyáltalán mik ezek? Van e különbség a 2 között? Saját szavaiddal. Ilyen fogalmak, hogy aggregáció,kompozíció,aggregáció, asszociáció. Melyik micsoda?

2012. jan. 12. 23:48
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:

Az osztály nem más mint egy új típus definíciója.

Az objektum pedig ennek a típusnak az egyik példánya.

2012. jan. 13. 15:27
 9/10 A kérdező kommentje:
A többit nem tudom.
2012. jan. 13. 15:27
 10/10 anonim ***** válasza:

"Ha létrehozok egy CAT osztályt és egy BEALLIT osztályt akkor az,hogyan csináljam meg,hogy a BEALLIT osztály beállítsa a CAT adattagjait."


Azt írtad hogy "eddigi példák nagyon jól érthetőek voltak segítettek is ...". Az OOP elméleti modellt értem a c++ értem,de azt hogy most minek a BEALLIT osztály, vagy mit nem értesz rajta, azt én nem értem.


Azt írta valaki, hogy "kezd újra az OOP-t", azt írtad hogy "már ezzel szenvedek 3 hónapja" ... írtam pár OOP-ben használt fogalmat és azt sem tudod mik azok, (az osztály és objektumon kívül)


Ne hidd azt hogy ez most letolás volt, mindössze a tényeket írtam le.

Itt le van írva az aggregáció: [link]

A legalján a Forrás-nál hasznos linkek, pl Programozás 1. segédanyag, nem véletlen nem c++ hanem java, sokkal könnyebb megérteni java-ba az OOP-t.


Aggregáció: az egyik objektum tartalmazza a másikat.

pl:

class Macska{

...

Fej fej;

Torzs torzs;

Lab lab[4];

...

}

A Fej a Torzs a Lab a Fej is osztályok, ezeket példányosítjuk a Macska osztályba, metódusokon keresztül be tudjuk állítani a tartalmazott objektumok adattagjait, ugyan úgy mintha a main-be példányosítanánk ...

2012. jan. 13. 19:09
Hasznos számodra ez a válasz?

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!