Untitled
unknown
plain_text
a year ago
2.3 kB
5
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