Forum » Programiranje » C++ pomoč
C++ pomoč
hexor ::
Pozdrav!
Prosil bi vas za pomoč pri programu ki bere iz vhoda pare realnih števil(x,y).Ko prebere oba para naj vrednost vpiše v datoteko s presledkom v novo vrstico-pred vrednostima naj bo številka vrstice in jima naj odreže decimalni del v stolpcih x in y.Zapisovanje se naj ponavlja tako dolgo dokler za vrednost x ali y ne vnesem besedo konec.Vsaka pomoč bo dobrodošla.Hvala!
Prosil bi vas za pomoč pri programu ki bere iz vhoda pare realnih števil(x,y).Ko prebere oba para naj vrednost vpiše v datoteko s presledkom v novo vrstico-pred vrednostima naj bo številka vrstice in jima naj odreže decimalni del v stolpcih x in y.Zapisovanje se naj ponavlja tako dolgo dokler za vrednost x ali y ne vnesem besedo konec.Vsaka pomoč bo dobrodošla.Hvala!
hexor ::
kako bi odrezal decimalni del od stevila npr. če vpišem 15.23,da mi v datoteko vpiše 15.....
hm.....
hm.....
Zgodovina sprememb…
- spremenil: hexor ()
deninho1989 ::
Pozdravljeni...Tudi jaz rabim eno pomoč...V ponedeljek imamo izpit iz programiranja, potem pa dobimo sledečo nalogo:
navodilo je pa sledeče: kaj izpiše izvedba naslednjega programa?
Zanima me če mi lahko kdo razloži zakaj in kako pride do naslednjih rešitev:
AABABCAB21A1A1321211
tnx, Lp
navodilo je pa sledeče: kaj izpiše izvedba naslednjega programa?
Zanima me če mi lahko kdo razloži zakaj in kako pride do naslednjih rešitev:
AABABCAB21A1A1321211
tnx, Lp
Zgodovina sprememb…
- spremenil: deninho1989 ()
schtr4jh ::
Ob kreiranju objektov pri dedovanju se konstruktorji izvedejo od zgoraj navzdol. Ko se program konča se destruktorji izvedejo od spodaj navzgor.
Kreiraš objekt o_a razreda A. Izvede se A(), ki izpiše A;
Kreiraš objekt o_b razreda B. Izvede se A(), ki izpiše A in nato B(), ki izpiše B;
Kreiraš objekt o_c razreda C. Izvede se A(), ki izpiše A, nato B(), ki izpiše B ter na koncu C(), ki izpiše C.
V zavitih oklepajih kreiraš objekt o_bb razreda B. Izvede se A(), ki izpiše A ter nato B(), ki izpiše B. Ker prideš do zavitega zaklepaja, v teh dveh zaklepajih pa si kreiral objekt o_bb, se objekt "zruši", zato se kliče destruktor ~B(), ki izpiše 2 ter nato še destruktor ~A(), ki izpiše 1.
For zanka se bo izvedla 2x (i=7 in i=6). Kreiraš objekt o_aa razreda A, zato se najprej kliče konstruktor A(), ki izpiše A. Ker si prišel do zavitega zaklepaja, se kliče destruktor ~A(), ki izpiše 1. Ponovi se še enkrat (izpis: A 1).
Ker si prišel do konca programa, se morajo "zrušit" še ostali objekti, zato se kličejo destruktorji. Objekti se "rušijo" od zadnjega kreiranega do prvega kreiranega. Najprej se "zruši" o_c, ki kliče ~C(), nato ~B(), nato ~A() (izpis: 3 2 1). Za tem se "ruši" o_b - ~B() in ~A() (izpis 2 1). Na koncu se "zruši" še o_a, ki kliče samo destruktor ~A().
Še primer glede zavitih oklepajev:
Izpis: k k d d
Dovolj razumljivo?
Kreiraš objekt o_a razreda A. Izvede se A(), ki izpiše A;
Kreiraš objekt o_b razreda B. Izvede se A(), ki izpiše A in nato B(), ki izpiše B;
Kreiraš objekt o_c razreda C. Izvede se A(), ki izpiše A, nato B(), ki izpiše B ter na koncu C(), ki izpiše C.
V zavitih oklepajih kreiraš objekt o_bb razreda B. Izvede se A(), ki izpiše A ter nato B(), ki izpiše B. Ker prideš do zavitega zaklepaja, v teh dveh zaklepajih pa si kreiral objekt o_bb, se objekt "zruši", zato se kliče destruktor ~B(), ki izpiše 2 ter nato še destruktor ~A(), ki izpiše 1.
For zanka se bo izvedla 2x (i=7 in i=6). Kreiraš objekt o_aa razreda A, zato se najprej kliče konstruktor A(), ki izpiše A. Ker si prišel do zavitega zaklepaja, se kliče destruktor ~A(), ki izpiše 1. Ponovi se še enkrat (izpis: A 1).
Ker si prišel do konca programa, se morajo "zrušit" še ostali objekti, zato se kličejo destruktorji. Objekti se "rušijo" od zadnjega kreiranega do prvega kreiranega. Najprej se "zruši" o_c, ki kliče ~C(), nato ~B(), nato ~A() (izpis: 3 2 1). Za tem se "ruši" o_b - ~B() in ~A() (izpis 2 1). Na koncu se "zruši" še o_a, ki kliče samo destruktor ~A().
Še primer glede zavitih oklepajev:
class Base {
public:
Base() {
cout << "k ";
}
~Base() {
cout << "d ";
}
};
int main() {
Base o1;
int a = 5;
// tukaj lahko uporabljaš samo o1
if (a==5) {
Base o2;
// tukaj lahko uporabljaš o1 in o2
}
// tukaj lahko uporabljaš samo o1
}Izpis: k k d d
Dovolj razumljivo?
deninho1989 ::
Najlepša hvala...Zdaj mi je vse skup dosti bolj jasno;)...Spraševal sem zato ker ti ta naloga prinese 20 točk...:D
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | python osnovaOddelek: Programiranje | 2557 (1870) | detroit |
| » | C++ 1. letnikOddelek: Pomoč in nasveti | 1022 (814) | Tr0n |
| » | osnove v Javi - zvezdiceOddelek: Programiranje | 3766 (2988) | Tutankhamun |
| » | C++ kopirni konstruktorOddelek: Programiranje | 3593 (3324) | noraguta |
| » | oop+php+sessionsOddelek: Izdelava spletišč | 2778 (245) | cahahopie |
