1. Készítsünk egy „macska” osztályt amely két információt tárol: a kor (int) és a súly (int). Mind a két tulajdonság legyen publikus. Próbáljuk ki az osztályt. Definiáljunk egy cirmi nevű macskát és adjuk meg hogy a kora 5 év. #include
using namespace std; // struct macska is lehetne class macska { public: int kor; int suly; }; void main() { macska cirmi; cirmi.kor = 5; }
cout << "Cirmi kora: " << cirmi.kor << endl;
2. Készítsünk egy „macska” osztályt amely két információt tárol: a kor (int) és a súly (int). Készítsük el a tulajdonságokhoz tartozó set és get függvényeket. Ezen kívül írjunk egy függvényt amely nyávogást nyomtat ki. Próbáljuk ki az osztályt. Definiáljunk egy cirmi nevű macskát és adjuk meg hogy a kora 5 év. Végül nyomtassuk ki a macska korát és nyávogtassuk meg a macskát. J #include using namespace std; class macska { public: int get_kora(); void set_kora(int k); void nyavog(); private: int kor; }; int macska::get_kora() { return kor; } void macska::set_kora(int k) { kor = k; } void macska::nyavog() { cout << "Miau" << endl; } void main() { macska cirmi; // Ez mit nyomtatna? Probaljuk ki!!! // cout << "Cirmi kora: " << cirmi.get_kora() << endl;
}
cirmi.set_kora(5); cirmi.nyavog(); cout << "Cirmi kora: " << cirmi.get_kora() << endl; cirmi.nyavog();
3. Készítsünk egy „macska” osztályt amely két információt tárol: a kor (int) és a súly (int). Készítsük el a tulajdonságokhoz tartozó set és get függvényeket. Ezen kívül írjunk egy függvényt amely nyávogást nyomtat ki. Az osztályhoz tartozik egy konstruktor, melynek egy paramétere van és ez adja meg a macska korát. A súly alapesetben legyen nulla. Az osztály destruktora kiírja, hogy „meghalt”. Próbáljuk ki az osztályt. Definiáljunk egy cirmi nevű, 2 éves macskát. Ezután állítsuk be hogy a macska kora 5 és végül nyomtassuk ki a macska korát majd nyávogtassuk meg. J #include using namespace std; class macska { public: macska(int k); ~macska(); int get_kora(); void set_kora(int k); void nyavog(); private: int kor; }; macska::macska(int k) { kor = k; } macska::~macska(int k) { cout << "eletenek vege" << endl; } int macska::get_kora() { return kor; } void macska::set_kora(int k) { kor = k; } void macska::nyavog() { cout << "Miau" << endl; } void main() {
macska cirmi(2); cout << "Cirmi kora: " << cirmi.get_kora() << endl; cirmi.set_kora(5); cout << "Cirmi kora: " << cirmi.get_kora() << endl; cirmi.nyavog(); }
4. Definiáljunk egy „negyzet” osztályt, melynek két tulajdonsága: a vízszintes szélesség (int) és a függőleges magasság (int). Az osztálynak legyen két konstruktora. Az egyik konstruktornak nincs paramétere és a szélességet és a magasságot is 5-re állítja be. A másik konstruktornak két paramétere van, a szélesség és a magasság. Írjunk egy olyan tagfüggvényt is amelyik kiszámolja a téglalap területét és ezt az értéket visszaadja. Használjuk az osztályt. Definiáljunk két objektumot, az egyiket argumentumok nélkül, a másikat két argumentummal (3, 4). Nyomtassuk ki a két objektum területét. #include using namespace std; class negyzet { int x, y; public: negyzet(); negyzet(int,int); int terulet(){return (x*y);} }; negyzet::negyzet(int a, int b) { x = a; y = b; } // alap konstruktor negyzet::negyzet() { x = 5; y = 5; } int main () { negyzet a; negyzet b(3,4); cout << "A terulete: " << a.terulet(); cout << "A terulete: " << b.terulet(); }
return 0;
5. Oldjuk meg az előző feladatot olyan módon, hogy csak egy konstruktor van és az alap argumentumot használ. #include using namespace std; class negyzet { int x, y; public: negyzet(int a=5, int b=5); int terulet(){return (x*y);} }; negyzet::negyzet(int a, int b) { x = a; y = b; } int main () { negyzet a; negyzet b(3,4); cout << "A terulete: " << a.terulet(); cout << "A terulete: " << b.terulet(); return 0; }
6. Készítsünk egy TV osztályt aminek két tulajdonsága van: az állapot (bool) (bekapcsolt=igaz, kikapcsolt=hamis) és a csatorna (int) amit a bekapcsolt TV mutat. Írjuk meg a csatorna tulajdonság set és get függvényeit. Írjunk egy függvényt mely bekapcsolja és egy függvényt mely kikapcsolja a TV-t. Készítsünk egy konstruktort mely kikapcsolt állapotba hozza a TV-t és a csatornát nullára állítja. Az osztály destruktora azt írja ki, hogy „kidobtuk a TV-t”. Használjuk az osztály. Definiáljunk egy TV-t, nyomtassuk ki a TV tulajdonságait, kapcsoljuk be, állítsuk be a csatornát 9-esre. Nyomtassuk ki a TV tulajdonságait, váltsunk csatornát a 2-esre. Végül kapcsoljuk ki a TV-t. #include using namespace std; class TV { public: void set_csatorna(int a); int get_csatorna(); void bekapcsol() { bekapcs = true; } void kikapcsol() { bekapcs = false; } bool get_allapot() { return bekapcs; } TV(); ~TV(); private: int csatorna; bool bekapcs; }; TV::TV() { csatorna = 0; bekapcs = false; } TV::~TV() { cout << "kidobtuk a TV-t" << endl; } void TV::set_csatorna(int a) { if(bekapcs) { if(a < 0) { cout << "ervenytelen csatorna" << endl; } else { csatorna = a; }
}
} else { cout << "HIBA: A TV nincs bekapcsolva" << endl; }
int TV::get_csatorna() { return csatorna; } int main() { TV enTV; cout << "Az en TVm allapota: " << enTV.get_allapot() << " csatorna: " << enTV.get_csatorna() << endl; enTV.bekapcsol(); enTV.set_csatorna(9); cout << "Az en TVm allapota: " << enTV.get_allapot() << " csatorna: " << enTV.get_csatorna() << endl; enTV.set_csatorna(1); cout << "Az en TVm allapota: " << enTV.get_allapot() << " csatorna: " << enTV.get_csatorna() << endl; enTV.kikapcsol(); return 0; }