Guest User

Untitled

a guest
Dec 7th, 2014
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <cstring>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. class tire
  9. {
  10. protected:
  11. char *make;
  12. double cost;
  13. double price;
  14. int size;
  15. public:
  16. tire(){};
  17. tire(char *mk, double cst = 125.0, int sz = 2356018);
  18. ~tire(){delete [] make;};
  19. void set_price(void) {price = cost*1.06;}
  20. double get_price(void) {return price;}
  21. char * get_make(void) {return make;}
  22. int get_size(void) {return size;}
  23. };
  24.  
  25. tire::tire(char *mk, double cst, int sz) : size(sz)
  26. {
  27. make = new char[strlen(mk)+1];
  28. strcpy(make, mk);
  29. cost = cst;
  30. }
  31.  
  32. ostream& operator<< (ostream& os, tire& t)
  33. {
  34. os << t.get_make() << " tire size " << setw(10) << t.get_size() << ", price is $" << t.get_price() << endl;
  35. return os;
  36. }
  37.  
  38. class winter_tire: public tire
  39. {
  40. private:
  41. double mounting_cost;
  42. public:
  43. winter_tire(){};
  44. winter_tire(char *mk, int sz, double cst = 165.00, double mntg_cst = 26.00) : tire(mk, sz, cst), mounting_cost(mntg_cst){}
  45. virtual void set_price(void) {price = mounting_cost * 1.04;}
  46. friend ostream& operator<< (ostream& os, winter_tire& t)
  47. {
  48. os << t.get_make() << " tire size " << t.get_size() << ", price is $" << t.get_price() << endl;
  49. return os;
  50. }
  51. };
  52.  
  53. main()
  54. {
  55. tire t1("Goodyear", 125.00, 2555516);;
  56. tire t2("Bridgestone", 145.00);
  57. winter_tire w_t1("Michelin", 2605016, 214.00);
  58.  
  59. tire *p;
  60.  
  61. cout << "CPS311 2014 A4 *LastName*, FirstName, *Khalifa*, Wiz, *Dicky*, Lil" << endl;
  62.  
  63. cout.setf(ios::fixed);
  64. cout.precision(2);
  65.  
  66. p = &t1;
  67. p->set_price();
  68. cout << endl << t1 << endl;
  69.  
  70. p = &t2;
  71. p->set_price();
  72. cout << t2 << endl;
  73.  
  74. p = &w_t1;
  75. p->set_price();
  76. cout << w_t1 << endl;
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment