Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Car.h"
- #include "Wheel.h"
- #include <iostream>
- using namespace std;
- Car::Car(const string& mo, const string& ma, int di, int nrWheels)
- {
- if(di>0 && nrWheels>2)
- {
- model = mo;
- for(int i=0;i<nrWheels;i++)
- {
- Wheel *myWheel = new Wheel(di, ma);
- wheels.push_back(myWheel);
- }
- }
- else return;
- }
- void Car::copyCar( Car& otherCar)
- {
- model = otherCar.getModel();
- for(int i=0;i<otherCar.getNrWheels();i++)
- {
- wheels[i] = otherCar.getWheel(i);
- }
- }
- Car::Car(Car& myCar)
- {
- model = myCar.getModel();
- for(int i=0;i<myCar.getNrWheels();i++)
- {
- wheels[i] = myCar.getWheel(i);
- }
- }
- Car& Car::operator=(Car& myCar)
- {
- if(this == &myCar)
- {
- return *this;
- }
- model = myCar.getModel();
- wheels.clear();
- for(int i=0;i<myCar.getNrWheels();i++)
- {
- wheels[i] = myCar.getWheel(i);
- }
- return *this;
- }
- Car::~Car(){
- int range = getNrWheels();
- for(int i=0;i<range;i++)
- {
- delete wheels[i];
- wheels[i] = NULL;
- }
- }
- bool Car::indexInRange(int index)
- {
- int range = getNrWheels();
- for(int i=0;i<range;i++)
- {
- if (i == index)
- return true;
- }
- return 0;
- }
- void Car::deleteAllWheels()
- {
- int range = getNrWheels();
- for(int i=0;i<range;i++)
- {
- delete wheels[i];
- }
- }
- string Car::getModel() const
- {
- return model;
- }
- void Car::setLicensePlate(const string& license)
- {
- string plate = getLicensePlate();
- plate = license;
- }
- string Car::getLicensePlate() const
- {
- return licensePlate;
- }
- int Car::getNrWheels() const
- {
- unsigned int nr = sizeof(wheels)/sizeof(Wheel);
- return nr;
- }
- Wheel* Car::getWheel(int index)
- {
- int range = getNrWheels();
- if(index >=0 && index <range)
- {
- for(int i=0;i<range;i++)
- {
- return wheels[i];
- }
- }
- return 0;
- }
- void Car::removeWheel(int index)
- {
- int range = getNrWheels();
- if(index <= 0 || index > range)
- {
- cout << "Exception thrown: Illegal index \n" << endl;
- }
- else
- {
- for(int i=0;i<range;i++)
- {
- if(i == index)
- {
- delete wheels[i];
- wheels[i] = NULL;
- }
- }
- }
- }
- void Car::addWheel(int diameter, const string& material)
- {
- if(diameter < 0)
- {
- cout << "Exception thrown: Diameter < 0 \n"<<endl;
- }
- else
- {
- Wheel *myWheel = new Wheel(diameter, material);
- wheels.push_back(myWheel);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement