Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- class Nedviznina { //Да се развие класа Nediviznina за коjа се чуваат следниве информации:
- protected:
- char adresa[50]; //адреса (динамички алоцирана низа од знаци)
- int kvadratura; //квадратура (цел боj)
- int cenak; //цена за квадрат (цел боj)
- public: //За оваа класа да се имплементираат соодветните конструктори и следните методи:
- Nedviznina() {}
- Nedviznina(char * adresa, int kvadratura, int cenak) {
- strcpy(this->adresa, adresa);
- this->kvadratura=kvadratura;
- this->cenak=cenak;
- }
- Nedviznina(const Nedviznina &n) {
- strcpy(this->adresa, n.adresa);
- this->kvadratura=n.kvadratura;
- this->cenak=n.cenak;
- }
- int cena() { //cena() коj ќе jа враќа цената на недвижнината (квадратура * цена-за-квадрат)
- return kvadratura*cenak;
- }
- void pecati() { //pecati() коj ќе ги испечати сите информации за истата
- cout<<adresa<<", Kvadratura: "<<kvadratura<<", Cena po Kvadrat: "<<cenak<<endl;
- }
- double danokNaImot() { //danokNaImot() коj го ваќа данокот што се плаќа за недвижнината,
- //а истиот се пресметува како 5% од цената на недвижнината.
- return (cena()*0.05);
- }
- char * getAdresa() {
- return adresa;
- }
- int getKvadratura() {
- return kvadratura;
- }
- int getCenak() {
- return cenak;
- }
- friend istream &operator>>(istream &i, Nedviznina &n ) {
- return i>>n.adresa>>n.kvadratura>>n.cenak;
- }
- };
- class Vila : public Nedviznina { //Од оваа класа да се изведе класа Vila за коjа дополнително
- private:
- int danok;//се чува данок на луксуз (цел боj, пр. 10%). За оваа класа да се преоптоварат методите:
- public:
- Vila() {}
- Vila(const Nedviznina &n, int danok) : Nedviznina(n) {
- this->danok=danok;
- }
- Vila(const Vila &v) {
- this->danok=v.danok;
- }
- void pecati() {
- cout<<adresa<<", Kvadratura: "<<kvadratura<<", Cena po Kvadrat: "<<cenak<<", ";
- cout<<"Danok na luksuz: "<<danok<<endl;
- }
- int danokNaImot() {
- return (((kvadratura*cenak)*danok)/100) + Nedviznina::danokNaImot();
- }
- friend istream &operator>>(istream &i, Vila &v ) {
- return i>>v.adresa>>v.kvadratura>>v.cenak>>v.danok;
- }
- char * getAdresa() {
- return Nedviznina::getAdresa();
- }
- };
- int main() {
- Nedviznina n;
- Vila v;
- cin>>n;
- cin>>v;
- n.pecati();
- cout<<"Danok za: "<<n.getAdresa()<<", e: "<<n.danokNaImot()<<endl;
- v.pecati();
- cout<<"Danok za: "<<v.getAdresa()<<", e: "<<v.danokNaImot()<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement