Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- class RealEstate {
- protected:
- char*address;
- int area;
- int price;
- void copy(const RealEstate &r) {
- this->address=new char[strlen(r.address)+1];
- strcpy(this->address,r.address);
- this->area=r.area;
- this->price=r.price;
- }
- public:
- RealEstate(char *address="",int area = 0 , int price = 0) {
- this->address=new char[strlen(address)+1];
- strcpy(this->address,address);
- this->area=area;
- this->price=price;
- }
- RealEstate(const RealEstate &r) {
- copy(r);
- }
- RealEstate &operator=(const RealEstate &r) {
- if(this!=&r) {
- delete [] address;
- copy(r);
- }
- return *this;
- }
- int Price () {
- return this->area*this->price;
- }
- void print() {
- cout<<address<<", Kvadratura: "<<area<<", Cena po Kvadrat: "<<price<<endl;
- }
- float estateTax() {
- return Price() * 0.05;
- }
- friend istream &operator>>(istream &in , RealEstate &r) {
- in>>r.address>>r.area>>r.price;
- return in;
- }
- char *getAddress() {
- return this->address;
- }
- ~RealEstate() {
- delete [] address;
- }
- };
- class Villa :public RealEstate {
- protected:
- int tax;
- public:
- Villa(char *address="",int area = 0 , int price = 0 , int tax= 0):RealEstate(address,area,price) {
- this->tax=tax;
- }
- void print() {
- cout<<address<<", Kvadratura: "<<area<<", Cena po Kvadrat: "<<price<<", Danok na luksuz: "<<tax<<endl;
- }
- int estateTax() {
- return RealEstate::estateTax()+(area*price*tax/100);
- }
- friend istream &operator>>(istream &in , Villa &v) {
- in>>v.address>>v.area>>v.price>>v.tax;
- return in;
- }
- };
- int main() {
- RealEstate re;
- Villa v;
- cin >> re;
- cin >> v;
- re.print();
- // cout<<"test1"<<endl;
- cout << "Danok za: " << re.getAddress() << ", e: " << re.estateTax() << endl;
- v.print();
- // cout<<"test2"<<endl;
- cout << "Danok za: " << v.getAddress() << ", e: " << v.estateTax() << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement