#include<bits/stdc++.h>
using namespace std;
class Vehicle{
protected:
string model;
public:
Vehicle() = default;
Vehicle(string model){
this->model = model;
cout << "Vehicle Constructor Called\n";
}
};
class Four_Wheeler : public Vehicle{
protected:
string trunk_type;
public:
Four_Wheeler() = default;
Four_Wheeler(string model, string trunk_type) : Vehicle(model), trunk_type(trunk_type){
cout << "Four-Wheeler Constructor Called\n";
}
};
class Car : public Four_Wheeler{
protected:
int trunk_capacity;
public:
Car() = default;
Car(string model, string trunk_type, int trunk_capacity) : Four_Wheeler(model, trunk_type), trunk_capacity(trunk_capacity){
cout << "Car Constructor Called!\n";
}
};
int main(){
Four_Wheeler fw("GTR", "Small");
Car("BMW", "Small", 8);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2xhc3MgVmVoaWNsZXsKICAgIHByb3RlY3RlZDoKICAgICAgICBzdHJpbmcgbW9kZWw7CiAgICBwdWJsaWM6CiAgICAgICAgVmVoaWNsZSgpID0gZGVmYXVsdDsKICAgICAgICBWZWhpY2xlKHN0cmluZyBtb2RlbCl7CiAgICAgICAgICAgIHRoaXMtPm1vZGVsID0gbW9kZWw7CiAgICAgICAgICAgIGNvdXQgPDwgIlZlaGljbGUgQ29uc3RydWN0b3IgQ2FsbGVkXG4iOwogICAgICAgIH0KfTsKY2xhc3MgRm91cl9XaGVlbGVyIDogcHVibGljIFZlaGljbGV7CiAgICBwcm90ZWN0ZWQ6CiAgICAgICAgc3RyaW5nIHRydW5rX3R5cGU7CiAgICBwdWJsaWM6CiAgICAgICAgRm91cl9XaGVlbGVyKCkgPSBkZWZhdWx0OwogICAgICAgIEZvdXJfV2hlZWxlcihzdHJpbmcgbW9kZWwsIHN0cmluZyB0cnVua190eXBlKSA6IFZlaGljbGUobW9kZWwpLCB0cnVua190eXBlKHRydW5rX3R5cGUpewogICAgICAgICAgICBjb3V0IDw8ICJGb3VyLVdoZWVsZXIgQ29uc3RydWN0b3IgQ2FsbGVkXG4iOwogICAgICAgIH0KfTsKY2xhc3MgQ2FyIDogcHVibGljIEZvdXJfV2hlZWxlcnsKICAgIHByb3RlY3RlZDoKICAgICAgICBpbnQgdHJ1bmtfY2FwYWNpdHk7CiAgICBwdWJsaWM6CiAgICAgICAgQ2FyKCkgPSBkZWZhdWx0OwogICAgICAgIENhcihzdHJpbmcgbW9kZWwsIHN0cmluZyB0cnVua190eXBlLCBpbnQgdHJ1bmtfY2FwYWNpdHkpIDogRm91cl9XaGVlbGVyKG1vZGVsLCB0cnVua190eXBlKSwgdHJ1bmtfY2FwYWNpdHkodHJ1bmtfY2FwYWNpdHkpewogICAgICAgICAgICBjb3V0IDw8ICJDYXIgQ29uc3RydWN0b3IgQ2FsbGVkIVxuIjsKICAgICAgICB9Cn07CmludCBtYWluKCl7CiAgICBGb3VyX1doZWVsZXIgZncoIkdUUiIsICJTbWFsbCIpOwogICAgQ2FyKCJCTVciLCAiU21hbGwiLCA4KTsKICAgIHJldHVybiAwOwp9