C++ elméleti kérdések

Ez a téma lezárásra került a moderátor által. A lezárás oka: Konkr�t k�rd�seket a Tud�st�rban k�retik feltenni!!!
Címkék
C++ elméleti kérdések
2006-02-22T20:02:12+01:00
2006-03-28T12:22:55+02:00
2022-07-26T19:26:15+02:00
  • Standard C-beli fuggvenyek leteznek a dolog megoldasara igy elso nekifutasra.

    De ez nem epp a C++ elmeleti kerdesek temakorehez tartozik szerintem.
    Mutasd a teljes hozzászólást!
  • Hali!

    Láma kérdés jön, lehet leugatni miatta, de fölösleges, mert azzal senki nem elsz se előrrébb se hátrébb. ha valaki akar normálisan válaszolni, kérem csak az reagáljon.

    annyi lenne a kérdésem, hogy hogyan tudom kisajtolni a c++ ból a dátumot, pl képernyő vagy fájlbaírás céljából... ennyi...

    előre is köszi a válaszokat..
    Mutasd a teljes hozzászólást!
  • Kösz!
    Mutasd a teljes hozzászólást!
  • Naszoval... ha feltelezzuk, hogy A3 egy T3 tipusu objektum a fenti UML relacioval, akkor:

    T3::S1 -> T3::S2 -> T2::S3 -> T3:V3 -> T1::S4

    Magyarazat: S1 - > S2 -> S3 meg sztem egyerelmu.

    A V3 virtualis fuggveny (T2/T3ban), amelyet a T3 osztaly felulir. Mivel a valtozo dinamikus es statikus tipusa is T3 tipusu, ezert nyilvan a T3::V3 kell, hogy meghivodjon. (T1-ben V3 private es nem virtualis, igy ha T2-tol eltekintenenk, akkor eltakarasrol lenne szo).

    V3 -> S4 ismet egyertelmu (bar sajnos a T1 osztalyban az S4 nem fuggvenykent szerepel, szoval #S4() {}-t kepzeltem oda).
    Mutasd a teljes hozzászólást!
  • Kösz.

    A 6-osnál a végigkövetés ennyi?
    T3.S1();
    T3.S2();
    T2.S3();
    T2.V3();
    Mutasd a teljes hozzászólást!
  • Jah ertem, akkor az tortenik amit leirtam elobb... csak 3 szeme van a lancnak.
    Mutasd a teljes hozzászólást!
  • Igen, az eredeti példában többszörös öröklődés van. A T1<-T2<-T3 példát én is, mint külön példát hoztam, hogy egyszerűsítsem az eredetit.
    Mutasd a teljes hozzászólást!
  • van egy T1 osztály, amiből származtatunk egy T2 -t és a T2 -ből egy T3 -at


    Amennyire en lattam, a T1 es T2 egymatol fuggetlenek, es T3 mindkettobol szarmazik 'egyszerre'.

    Tehat nem.


    Egy az elozoektol teljesen fuggetlen pelda:

    class T1 {}; class T2 : public T1 {}; int main() { T2 a; }

    Akkor eloszor T1 konstruktora hivodik meg (hogy inicializalja a 'T2-nek a T1 reszet', majd T2 konstruktora kovetkezik a sorban.
    Mutasd a teljes hozzászólást!
  • Köszi a választ.

    UML:
    +public
    #protected
    -private

    Szóval ha jól tudom, úgy van, hogy tételezzük fel, hogy van egy T1 osztály, amiből származtatunk egy T2 -t és a T2 -ből egy T3 -at.
    Vmi ilyen, csak függőlegesen:
    T1<-T2<-T3

    Amikor példányosítjuk a T3 -at, akkor annak meghívódik a konstruktora, ami meghívja a T2 konstruktorát és az a T1 konstruktorát, igenám, de T1 konstruktor fog először lefutni, utána T2 és úgy T3.
    Nem?
    Mutasd a teljes hozzászólást!
  • 4. Feladat

    A 3. feladat alapjan, ha


    class T1 A1(); class T2 A2(1), B2(); class T3 A3(), B3(2);

    az 'objektum deklaraciok' akkor:

    A3 nem egy objektum, csupan egy fuggveny deklaracio, melynek nincsenek formalis parameterei es visszateresi ertekenek tipusa a T3 osztalybol valo.

    B3 pedig a T3 osztaly egy peldanya.

    Konstruktorok meghivasa pedig: T1() || T2() (a ketto kozott nem tudok egyertelmu sorrendet meghatarozni, ezt majd egy tolem okosabb ember megteszi, mindenestre az inicializalasi listaban szereplo helyuktol teljesen fuggetlenek), majd ezutan a T3(int) konstruktor hivas kovetkezik.

    (Sajnos mar elfelejtettem az UML-t, szoval azzal a feltetelezessel eltem, hogy az elobb emlitett fuggvenyek mint public lathatosaggal rendelkeznek).



    Ami pl. zavar, az, hogy a konstruktor meghívódás ill. lefutás között különbség van, de ha jól látom, szerintem több könyvben is keverik a 2 fogalmat, vagy csak én értem rosszul.


    Ezt fejtsd ki kicsit bovebben. Milyen kulonbsegekre gondolsz konkretan.

    Formalis definiciot nem tudnek hirtelen adni az elobbi ket fogalomra, intiutive viszont az az ember erzese, hogy meghivodas az azt megelozo pillanat, amikor atadodik a vezerles a konstruktornak. A lefutas pedig az azt koveto pillanat, amikor a konstruktor visszadta a vezerlest a hivonak.

    Remelem nem irtam tul nagy hulyesegeket.
    Mutasd a teljes hozzászólást!
  • Elírtam, szóval a megírt progi nem segített megválaszolni a kérdést.
    Mutasd a teljes hozzászólást!
  • Feltettem ide egy mintafeladatsort, amiben a 4-es és a 6-os kérdéssel van némi gondom.
    Megírtam a progit, de segített sokat. Itt van.

    Ami pl. zavar, az, hogy a konstruktor meghívódás ill. lefutás között különbség van, de ha jól látom, szerintem több könyvben is keverik a 2 fogalmat, vagy csak én értem rosszul.
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: Konkr�t k�rd�seket a Tud�st�rban k�retik feltenni!!!
Címkék
abcd