#include <iostream>
#include <string>
using namespace std;
// DESTRUKTOR példa (dinamikus memória)
class DinTomb {
int* tomb;
int meret;
public:
DinTomb(int m) : meret(m) {
tomb = new int[meret];
for (int i = 0; i < meret; ++i)
tomb[i] = i;
cout << "[DinTomb] Létrejött (" << meret << " elem)\n";
}
~DinTomb() {
delete[] tomb;
cout << "[DinTomb] Felszabadítva!\n";
}
};
// THIS POINTER - method chaining, paraméternév ütközés
class User {
string name;
int age;
public: // Filozófia: egy objektum fokozatosan, több setter hívással is felépíthető, nem csak konstruktorral.
User& setName(const string& name) {
this->name = name;
return *this;
}
User& setAge(int age) {
this->age = age;
return *this;
}
void print() const {
cout << "[User] Név: " << name << ", Életkor: " << age << endl;
}
};