/* 2. félév, C++ nyelv A C++ nem obj,orient.újdonságai Egyszerű példa osztályra és egyedre. // 1. prg: címszerinti értékátadás referenciaváltozók segítségével: /* #include #include #include //ez az osztálydeklaráció kell a cin és cout-hoz void szelsoertekek(int a, int b, int& max, int& min) { if (a > b) { max= a; min= b;} else {max= b; min= a;}; } void main(void) { int c, d, nagy, kicsi; clrscr(); cout << "Cimszerinti értékátadás demo" << endl; do {cout << "Adj meg két egész számot!" << endl; cout << "c="; cin >> c; cout << "d="; cin >> d; szelsoertekek(c, d, nagy, kicsi); cout << "A nagyobbik= " << nagy << ", a kisebbik= " << kicsi << endl; } while (c!=d); cout << "vége." ; getch(); } */ //2. példa: Dinamikus memóriakezelés new és delete segítségével: /* #include #include #include #include //próbáljuk ki nagyobb értékkel is, pl 1600 ! #define db 16 void main() { randomize(); float * valosmut; float * vektmut; clrscr(); cout << "Dinamikusan foglalunk helyet egy valós skalárnak \ és egy vektornak" << endl; valosmut = new float; vektmut = new float[db]; if (!valosmut || !vektmut) { cout << "Memóriafoglalás sikertelen!" << endl; exit(1); } *valosmut= random(25)/11.5; for (int i=0; i #include #include #include #include class Szovegparos {private: char forras[80], cel[80]; public: void MyStrncpy(int honnan=0, int mennyit=2000); void SetForras(char forrasbe[]){strcpy(forras,forrasbe);} void PrintCel(){puts(cel);} }; Szovegparos obj; char forrasbe[80]; int honnan, mennyit; char c1,c2; void main() {clrscr(); c1='N'; c2='N'; puts("Add meg az s1 szöveget:"); gets(forrasbe); obj.SetForras(forrasbe); cout << "Megadja a honnan pozíciót? (I/N): " << endl; if ((c1=toupper(getch())) == 'I') {cout << "honnan= " ; cin >> honnan;} if (c1=='I') { cout << "Megadja a mennyit értéket? (I/N): " << endl; if ((c2=toupper(getch())) == 'I') {cout << "mennyit= " ; cin >> mennyit;} } if (c2=='I') obj.MyStrncpy(honnan, mennyit); else if (c1=='I') obj.MyStrncpy(honnan); else obj.MyStrncpy(); obj.PrintCel(); getch(); } void Szovegparos::MyStrncpy(int honnan, int mennyit) {if (mennyit==2000) strncpy(cel, forras+honnan, strlen(forras)-honnan+1); else {strncpy(cel, forras+honnan, mennyit);cel[mennyit]='\0';} } //forras: kerekparverseny, honnan: N, kiir: kerekparverseny //forras: kerekparverseny, honnan=8, meddig: N : kiir:verseny //forras: kerekparverseny, honnan=5, meddig: 3 : kiir: par