Advertisement
Guest User

Untitled

a guest
May 29th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. #include <iostream>
  2. #include "cstring"
  3. using namespace std;
  4.  
  5. class Vehicle{
  6. protected:
  7. char* name;
  8. double height;
  9. double weight;
  10. public:
  11. Vehicle(char* newName=NULL, double newHeight=0,double newWeight=0)
  12. {
  13. setName(newName);
  14. height=newHeight;
  15. weight=newWeight;
  16. }
  17. void setName(char* newName)
  18. {
  19. delete[] name;
  20. name=new char[strlen(newName)+1];
  21. strcpy(name,newName);
  22. }
  23. void setHeight(double newHeight)
  24. {
  25. height=newHeight;
  26. }
  27. void setWeight(double newWeight)
  28. {
  29. weight=newWeight;
  30. }
  31. bool canPassUnderBridge(double maxHeight)
  32. {
  33. return height<maxHeight;
  34. }
  35. bool canPassOverBridge(double maxWeight)
  36. {
  37. return weight<maxWeight;
  38. }
  39. double getHeight()
  40. {return height;}
  41. double getWeight()
  42. {return weight;}
  43. ~Vehicle()
  44. {
  45. delete[] name;
  46. }
  47. };
  48.  
  49. class LandVehicle : virtual public Vehicle
  50. {
  51. private:
  52. double maxSpeed;
  53. char* model;
  54. double horsePower;
  55. public:
  56. void setModel(char* newModel)
  57. {
  58. delete[] model;
  59. model=new char[strlen(newModel)+1];
  60. strcpy(model,newModel);
  61. }
  62. double getSpeedUpstream(double streamSpeed)
  63. {
  64. return maxSpeed-streamSpeed;
  65. }
  66. double getSpeedDownstream(double streamSpeed)
  67. {
  68. return maxSpeed+streamSpeed;
  69. }
  70. double getTimeUpstream(double distance, double streamSpeed)
  71. {
  72. return distance/(maxSpeed-streamSpeed);
  73. }
  74. double getTimeDownstream(double distance, double streamSpeed)
  75. {
  76. return distance/(maxSpeed+streamSpeed);
  77. }
  78. ~LandVehicle()
  79. {
  80. delete[] model;
  81. }
  82. };
  83.  
  84. class WaterVehicle : virtual public Vehicle
  85. {
  86. private:
  87. double maxSpeed;
  88.  
  89. public:
  90. double getTime(double distance)
  91. {
  92. return distance/maxSpeed;
  93. }
  94. };
  95. class AmphibianVehicle : public LandVehicle, public WaterVehicle
  96. {
  97.  
  98. };
  99.  
  100.  
  101.  
  102.  
  103.  
  104. int main()
  105. {
  106. AmphibianVehicle ampo;
  107. ampo.setHeight(15);
  108. if(ampo.canPassOverBridge(20))
  109. {
  110. cout << "Dobre we" << endl;
  111. }
  112. return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement