Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- შექმენით საბაზისო კლასი ტრანსპორტი. ველებით:
- მგზავრების რაოდენობა, პასი
- ამ კლასისთვის შექმენით სუფთა ვირტუალური ფუნქცია maxAmount, რომელიც
- დაითვლის მაქსიმუმ რა თანხას გამოიმუშავებს ტრანპორტი ერთი მიმართულებით.
- შექმენით მემკვიდრე კლასები Train, Bus .
- მოახდინეთ maxAmount ფუნქციის გადატვირთვა შესაბამისი კლასებისთვის.
- ასევე გადატვირთეთ print ფუნქცია
- შექმენით ორ ელემენტიანი მასივი ტრანპორტის კლასის მიმთითებლით
- და პირველი მიუთითებდეს Train ობიექტს, ხოლო მეორე მიუთითებდეს
- Bus ობიექტზე. მოახდინეთ მასივის თითოეული ელემენტისთვის ინფორმაციის
- ბეჭდვა
- */
- #include <iostream>
- using namespace std;
- class Vehicle{
- protected:
- int passengers;
- double price;
- public:
- Vehicle();
- Vehicle(int ps, double pr);
- virtual void print() = 0;
- virtual double maxAmount() = 0;
- };
- Vehicle::Vehicle(){
- passengers = 0;
- price = 0;
- };
- Vehicle::Vehicle(int ps, double pr){
- passengers = ps;
- price = pr;
- }
- class Train:public Vehicle{
- public:
- Train(int ps, double pr);
- void print();
- double maxAmount();
- };
- Train::Train(int ps, double pr):Vehicle(ps,pr){
- }
- void Train::print(){
- cout << "This is train. Ticket price per person is " << price;
- }
- double Train::maxAmount(){
- return price*passengers;
- }
- class Bus :public Vehicle{
- public:
- Bus(int ps, double pr);
- void print();
- double maxAmount();
- };
- Bus::Bus(int ps, double pr):Vehicle(ps,pr){
- }
- void Bus::print(){
- cout << "This is Bus. Ticket price per person is " << price;
- }
- double Bus::maxAmount(){
- return price*passengers;
- }
- int main(){
- Vehicle* vehicles[2];
- Train tr(220,23.5);
- vehicles[0] = &tr;
- Bus bus(50,17);
- vehicles[1] = &bus;
- for (int i = 0; i < 2; i++){
- vehicles[i]->print();
- cout << " Max Amount is " << vehicles[i]->maxAmount();
- cout << endl << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement