Mi lehet az alábbi hibajelenség oka? (c++)
A suliban úgy tanultuk, hogy mikor létrehozok egy osztályt private az összes adattag és a public-ba be kellett tenni a settereket, gettereket és konstruktorokat. Ebben az esetben a classon kívül külön készítettük el a fentieket. Viszont én a netbeans segítségével a függvényen belül csináltam meg őket, mert ez jóval gyorsabb. Ebben az esetben viszont végig hibát jelez, csak akkor fut le, ha a public: után mindent kitörlök.
Most akkor mi a helyes? Miért nem működik a setter és a konstruktor ha ott van public adattagként?
Másold be légyszi a hibás részt (amit ha törölsz, lefordul)...
Egyébként vannak az adattagok és a metódusok... A setterek és a konstruktorok szerintem az utóbbiba tartoznak...
class Auto: public Jarmu{
private: bool benzines;
string tipus;
public:
Auto();
string getTipus();
bool isBenzines();
void setTipus(string);
void setBenzines(bool);
Amúgy ha kívül rakom a settert és gettert a függvényen akkor működik, de nem is írja be a tömbbe a példányt amit akarok, tehát valami más baj is van.
1. A Jarmu osztály definíciója hogy néz ki?
2. Az a kód, ami nem fordul le, hogy néz ki? Mert ez itt nekem jónak tűnik, eltekintve a class végétől ( }; )...
Egyébként private helyett használj inkább protected-et, mert a leszármazott osztály nem fogja látni a szülő private adattagjai, metódusait...
De javítson ki valaki, ha tévednék...
Köszi, de sajnos feladtam a hiábavaló hibakeresést. Megcsináltam úgy ahogy az órán tanultuk, tehát hogy minden setter, getter és konstruktor kívül van a classokon és így működik minden része.
A kód nem a legszebb, de már nem érdekel :(
Nem kérhetsz segítséget vagy mi?
Amúgy ha tényleg ennyire félsz kitenni ide, akkor nincs osztálytársad/csoporttársad, aki tudna segíteni?
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!