Advertisement
Guest User

C++

a guest
Mar 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. // Solution1.cpp : Defines the entry point for the console application.
  2. #include "stdafx.h"
  3. #include <iostream>
  4. #include <conio.h>
  5. #include <string.h>
  6. #include <new>
  7.  
  8. enum EPaliwo
  9. {
  10. diesel=1, benzyna, lpg, elektryczny
  11. };
  12.  
  13. char* Tpaliwo[15]={"diesel", "benzyna", "lpg", "prad"};
  14.  
  15. class CSilnik
  16. {
  17. EPaliwo paliwo_;
  18. int pojemnosc_;
  19. int moc_;
  20. public:
  21. CSilnik() {paliwo_=diesel; pojemnosc_=2000; moc_=150; };
  22. CSilnik(EPaliwo paliwo, int pojemnosc, int moc);
  23. ~CSilnik();
  24. void Wyswietl();
  25. };
  26.  
  27. class CSamochod
  28. {
  29. char* marka_;
  30. char* model_;
  31. CSilnik silnik_;
  32. public:
  33. CSamochod() {marka_="Domyslny"; model_="Domyslny";}
  34. CSamochod(char* marka, char* model);
  35. ~CSamochod();
  36. void Wyswietl();
  37. };
  38.  
  39. int _tmain(int argc, _TCHAR* argv[])
  40. {
  41. CSamochod *auto1=new CSamochod;
  42. auto1->Wyswietl();
  43.  
  44. CSamochod *auto2=new CSamochod("Audi", "A3");
  45. auto2->Wyswietl();
  46.  
  47. //CSilnik *silnik1=new CSilnik;
  48. //silnik1->Wyswietl();
  49. _getch();
  50. return 0;
  51. }
  52.  
  53. void CSamochod::Wyswietl()
  54. {
  55. std::cout<<"\nMarka:"<<marka_;
  56. std::cout<<"\nModel:"<<model_;
  57. silnik_.Wyswietl();
  58. }
  59.  
  60. CSamochod::CSamochod(char* marka, char* model)
  61. {
  62. int size=strlen(marka);
  63. char *marka_=new char[size+1];
  64. strcpy_s(marka_, sizeof(char), marka);
  65.  
  66. std::cout<<"Przydzial pamieci: ";
  67. std::cout<<"\n\n\nMarka "<<marka_<<" - size: "<<size;
  68.  
  69. size=strlen(model);
  70. char *model_=new char[size+1];
  71. strcpy_s(model_, sizeof(char), model);
  72.  
  73. std::cout<<"\n\nModel "<<model_<<" - size: "<<size;
  74. }
  75.  
  76. CSamochod::~CSamochod()
  77. {
  78. delete [] marka_;
  79. delete [] model_;
  80. delete &silnik_;
  81. }
  82.  
  83. //CSilnik::CSilnik(EPaliwo paliwo, int pojemnosc, int moc)
  84. //{
  85. //
  86. //}
  87.  
  88. void CSilnik::Wyswietl()
  89. {
  90. std::cout<<"\nPaliwo:"<<Tpaliwo[paliwo_-1];
  91. std::cout<<"\nPojemnosc:"<<pojemnosc_;
  92. std::cout<<"\nMoc:"<<moc_;
  93. }
  94.  
  95. CSilnik::~CSilnik()
  96. {
  97. delete &paliwo_;
  98. delete &pojemnosc_;
  99. delete &moc_;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement