Kezdőoldal » Számítástechnika » Programozás » Le tudnátok nekem vezetni...

Le tudnátok nekem vezetni lépésről lépésre, mit csinál ez a program?

Figyelt kérdés

Itt van ez a kód. Annyit értek belőle hogy a konstruktorral változtat a számok értékein, a destruktor pedig kiírja az eredményt. Viszont azt hogy pontosan mit csinál a számokkal, azt nem. Még az is kérdés lenne, hogy a main-ben a zárójelben lévő két sor változtat-e a kiírás sorrendjén?

(c++)


class A {

public:


static int o;

int oo;

A() :oo(o++) {};

A(const A& po) : oo(po.oo + 1) {};

~A() { cout << o << ':' << oo << '\n'; }

};


int A::o = 0;


int main() {

A a;

A b(a);

{

A c(b);

A d;

}

A e(a);

A f;

return 0;

}



2023. máj. 5. 00:43
 1/6 anonim ***** válasza:
0%
Mondjuk ha olvashatóan tennéd fel valahova, és nem így ömlesztve. Talán jobban át lehetne látni.
2023. máj. 5. 06:59
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
81%

1# Az oldal kiveszi a sor elején lévő üres karaktereket. Tehát nem tudja szebben berakni, max valahova felölti és belinkeli.


Plusz ez egy olyan egyszerű kód részlet, hogy ha ránézel látod.


Ha nem ismered a C/C++-t akkor inkább ne is kommentelj.


Én java fejlesztő vagyok, így nem is feltétlenül akartam erre válaszolni, de felb--nak az olyan inkompetens emberek mint te.

2023. máj. 5. 08:08
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
100%

Van egy statikus változód az osztályban, ami azt jelenti, hogy mindegyik példánya ugyanazt az egy változót látja. Ha módosítod az egyikben, ezt látos a másikból, az az o.

Az A osztály konstruktora ezt növeli eggyel, miután a jelenlegi értékét (ha ++o lenne, akkor előbb növelne, és utána adná vissza a már növelt ęrtéket) az oo osztályváltozónak beállította inicializáló listán


A copy konstruktor a kapott példány oo változóját állítja be a jelenlegi példány oo-jának és hozzáad egyet.


A dekstruktor kiírja a statikus o változó értékét és az oo tagváltozó értékét.


A mainben konstruktor és copy kobstruktor hívások vannak. A {} közötti rész egy scope, aminek a végén, a benne létrehozott objekumok megsemmisítésre kerülnek, azaz a destruktor meghívásra kerül (tehát változtat a kimeneten, hogy az a két sor {} között van)

2023. máj. 5. 09:36
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
44%

#1

Ha tudnál kódolni akkor tehetné egymás mellé is a karaktereket mert akkor is el tudnád olvasni.

De mivel fogalmad sincs róla így csak akkor tudod olvasni ha a nyulat körbe pontozzák.

2023. máj. 5. 14:47
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:
Köszönöm az érthető leírást, és hogy foglalkoztál vele.
2023. máj. 5. 15:52
 6/6 A kérdező kommentje:
*ment a zöld kéz
2023. máj. 5. 15:52

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!