Proszę o pomoc, bo nie rozumiem w jaki sposób mam tego dokonać
ptabB = new Budynek[lbudynkow]("a",1,1); //<--- POLU ptabB przydzielić dynamicznie pamięć dla tablicy o rozmiarze l_budynkow
#include <iostream>
#include <string.h>
using namespace std;
class Budynek{
char* adres;
int l_pieter;
int l_mieszkan;
public:
Budynek(char* a_adres, int pieter, int mieszkan);
~Budynek();
Budynek operator=(Budynek &prawa);
void Wpisz();
int LiczbaMieszkan() const;
};
class Osiedle{
protected:
const int nrSpoldzieni;
Budynek *ptabB;
int l_budynkow;
public:
Osiedle(int lbudynkow, int nspoldzielni);
~Osiedle();
};
Osiedle::Osiedle(int lbudynkow, int nspoldzielni)
:nrSpoldzieni(nspoldzielni), l_budynkow(lbudynkow){
ptabB = new Budynek[lbudynkow]("a",1,1); //<--- POLU ptabB przydzielić dynamicznie pamięć dla tablicy o rozmiarze l_budynkow
}
Budynek::Budynek(char* a_adres, int pieter, int mieszkan){
adres = new char[strlen(a_adres)+1];
strcpy(adres,a_adres);
l_pieter=pieter;
l_mieszkan=mieszkan;
cout<<"Stworzylem obiekt o adresie: "<<this->adres<<endl;
}
Budynek::~Budynek(){
delete [] adres;
}
Budynek Budynek::operator=(Budynek &prawa){
if(this!=&prawa){
adres = new char[strlen(prawa.adres)];
strcpy(adres,prawa.adres);
l_pieter = prawa.l_pieter;
l_mieszkan = prawa.l_mieszkan;
cout<<endl<<"Adres: "<<this->adres<<endl;
cout<<"l_pieter: "<<this->l_pieter<<endl;
cout<<"l_mieszkan: "<<this->l_mieszkan<<endl;
return *this;
}else{cout<<"nie mozna przypisac do siebie samego"<<endl;}
}
void Budynek::Wpisz(){
char* temp = new char [100];
cout<<endl<<"Podaj adres"<<endl;
cin>>temp;
cout<<"Podaj l_pieter"<<endl;
cin>>l_pieter;
cout<<"Podaj l_mieszkan"<<endl;
cin>>l_mieszkan;
}
int Budynek::LiczbaMieszkan() const{
return this->l_mieszkan;
}
int main(){
Budynek a1("nazwa",1,1);
Budynek a2("st",2,2);
a1=a2;
a1.Wpisz();
cout<<endl<<"Liczba mieszkan: "<<a1.LiczbaMieszkan()<<endl;
return 0;
}