Untitled
unknown
plain_text
2 years ago
2.3 kB
8
Indexable
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Stan {
private:
string vlasnik;
int velicina;
int brojSoba;
public:
Stan() {
cout << "Stan constructor called" << endl;
}
~Stan() {
cout << "Stan destructor called" << endl;
}
};
class Zgrada {
private:
string nazivFirme;
int brojKatova;
string adresa;
vector<Stan> stanovi;
public:
Zgrada(string imeFirme, int brKatova, string adr) {
if (imeFirme.length() < 5) {
cout << "Naziv firme mora imati barem 5 znakova." << endl;
return;
}
if (brKatova <= 0) {
cout << "Broj katova mora biti veći od 0." << endl;
return;
}
this->nazivFirme = imeFirme;
this->brojKatova = brKatova;
this->adresa = adr;
}
void dodajStan1(Stan z) {
stanovi.push_back(z);
}
void dodajStan2(Stan& z) {
stanovi.push_back(z);
}
void dodajStan3(Stan* z) {
stanovi.push_back(*z);
}
void ispisSvihStanova() {
for (const auto& stan : stanovi) {
// Ovdje implementirajte ispis svih podataka o stanu
}
}
Stan nadjiStan1(string vlasnik) {
for (auto& stan : stanovi) {
// Ovdje implementirajte pretragu i vraćanje stana ako je pronađen
}
// Ako nije pronađen stan, možete vratiti neki defaultni stan ili baciti iznimku
}
Stan* nadjiStan2(string vlasnik) {
for (auto& stan : stanovi) {
// Ovdje implementirajte pretragu i vraćanje stana ako je pronađen
}
// Ako nije pronađen stan, možete vratiti nullptr ili baciti iznimku
}
Stan& nadjiStan3(string vlasnik) {
for (auto& stan : stanovi) {
// Ovdje implementirajte pretragu i vraćanje stana ako je pronađen
}
// Ako nije pronađen stan, možete baciti iznimku
}
};
int main() {
Zgrada zgrada("FirmaXYZ", 5, "Adresa ulice 123");
Stan stan1;
zgrada.dodajStan1(stan1);
Stan stan2;
zgrada.dodajStan2(stan2);
Stan stan3;
zgrada.dodajStan3(&stan3);
zgrada.ispisSvihStanova();
return 0;
}Editor is loading...
Leave a Comment