Advertisement
czlowiekzgon

boss cpp

Nov 28th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. #include "pch.h"
  2. #include "Boss.h"
  3. #include "Underboss.h"
  4.  
  5. Boss::Boss(){
  6.  
  7. }
  8.  
  9. Boss::Boss(Underboss & u, Consigliere *ptr) {
  10. this->nameBoss = u.getNameUnderboss();
  11. this->ageBoss = u.getAgeUnderboss();
  12. this->ptrConsigliere = ptr;
  13.  
  14. this->sizeAssassin = u.getSizeAssassin();
  15.  
  16. ptrAssassin = new Assassin[sizeAssassin];
  17. for (int i = 0; i < sizeAssassin; i++) {
  18. this->ptrAssassin[i] = u.getPtrAssassin()[i];
  19. }
  20. //this.ptrAssassin = u.getPtrAssassin;
  21. }
  22. void Boss::initBoss() {
  23. cout << "Podaj nazwe bossa : ";
  24. cin >> nameBoss;
  25. cout << "Podaj wiek bossa : ";
  26. cin >> ageBoss;
  27. ptrConsigliere = new Consigliere;
  28. ptrConsigliere->initConsigliere();
  29.  
  30.  
  31.  
  32. cout << "Podaj ilosc zabojcow : ";
  33. cin >> sizeAssassin;
  34.  
  35. ptrAssassin = new Assassin[sizeAssassin];
  36. for (int i = 0; i < sizeAssassin; i++) {
  37. ptrAssassin[i].initAssassin();
  38. }
  39. }
  40.  
  41. Boss::~Boss(){
  42. for (int i = 0; i < sizeAssassin; i++) {
  43. ptrAssassin[i].~Assassin();
  44. }
  45. delete[] ptrAssassin;
  46.  
  47. }
  48.  
  49. void Boss::show() {
  50. cout << "Dane : " << endl;
  51. cout << "Nazwa bossa : " << this->nameBoss << endl;
  52. cout << "Wiek bossa : " << this->ageBoss << endl;
  53. ptrConsigliere->show();
  54. for (int i = 0; i < sizeAssassin; i++) {
  55. ptrAssassin[i].show();
  56. }
  57. }
  58.  
  59. void Boss::dodaj(int where) {
  60.  
  61.  
  62.  
  63. Assassin *sup_ptr = new Assassin[sizeAssassin + 1];
  64.  
  65. for (int i = 0; i < sizeAssassin + 1; i++) {
  66.  
  67. if (i == where) {
  68.  
  69. sup_ptr[i].initAssassin();
  70. }
  71. else if (i > where) {
  72. sup_ptr[i] = ptrAssassin[i - 1];
  73. }
  74. else {
  75. sup_ptr[i] = ptrAssassin[i];
  76. }
  77.  
  78. }
  79.  
  80.  
  81. delete[] ptrAssassin;
  82. ptrAssassin = sup_ptr;
  83. ++sizeAssassin;
  84.  
  85. }
  86.  
  87. int Boss::getSizeAssassin()const {
  88. return this->sizeAssassin;
  89. }
  90.  
  91. Assassin * Boss::getPtrAssassin()const {
  92. return this->ptrAssassin;
  93. }
  94.  
  95. int Boss::getAgeBoss()const {
  96. return this->ageBoss;
  97. }
  98.  
  99. string Boss::getNameBoss()const {
  100. return this->nameBoss;
  101. }
  102.  
  103. Consigliere * Boss::getPtrConsigliere()const {
  104. return this->ptrConsigliere;
  105. }
  106.  
  107. Boss & Boss::operator=(const Boss & b) {
  108. if (this == &b) {
  109. return *this;
  110. }
  111.  
  112. nameBoss = b.nameBoss;
  113. ageBoss = b.ageBoss;
  114. sizeAssassin = b.sizeAssassin;
  115. ptrAssassin = new Assassin[b.sizeAssassin];
  116. for (int i = 0; i < b.sizeAssassin; i++) {
  117. ptrAssassin[i] = b.ptrAssassin[i];
  118. }
  119. return *this;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement