Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. #include "skirt6.hpp"
  2.  
  3. /*
  4. Skirt::Skirt(){
  5. name = NULL;
  6. fabric = 1;
  7. length = 0;
  8. amount_colors = 0;
  9. colors = NULL;
  10. }
  11. */
  12.  
  13. Skirt::Skirt(char* Name_s, int Fabric_s, double Length_s, int Amount_colors_s, char** Colors_s){
  14. Name = NULL;
  15. setName(Name_s);
  16. setFabric(Fabric_s);
  17. setLength(Length_s);
  18. Amount_colors = 0;
  19. Colors = NULL;
  20. setColors(Amount_colors_s, Colors_s);
  21. }
  22.  
  23. Skirt::~Skirt(){
  24. if(Name != NULL){
  25. delete [] Name;
  26. }
  27. if(ShortColor != NULL){
  28. delete []ShortColor;
  29. }
  30. if(Colors != NULL){
  31. for(int i = 0; i < Amount_colors; i++){
  32. delete [] Colors[i];
  33. }
  34. delete [] Colors;
  35. }
  36. }
  37.  
  38. void Skirt::setName(char* Name_s){
  39. if (Name == NULL) { //! ПРОВЕРКА НУЖНО ЛИ ВЫДЕЛИТЬ ПАМЯТЬ
  40. Name = new char [NAME_LENGTH];
  41. }
  42. strcpy(Name,Name_s);
  43. }
  44.  
  45. char* Skirt::getName(){
  46. char* Name_g = new char [NAME_LENGTH];
  47. strcpy(Name_g,Name);
  48. return Name_g;
  49. }
  50.  
  51. void Skirt::setFabric(int Fabric_s){
  52. Fabric = Fabric_s;
  53. }
  54.  
  55. int Skirt::getFabric(){
  56. return Fabric;
  57. }
  58.  
  59. void Skirt::setLength(double Length_s){
  60. Length = Length_s;
  61. }
  62.  
  63. double Skirt::getLength(){
  64. return Length;
  65. }
  66.  
  67. void Skirt::setColors(int Amount_colors_s, char** Colors_s){
  68. int i = 0;
  69. if (Amount_colors != Amount_colors_s){
  70. Amount_colors = Amount_colors_s;
  71. if (Colors != NULL){
  72. for ( i = 0; i < Amount_colors_s; i++){
  73. delete Colors[i];
  74. }
  75. delete [] Colors;
  76. }
  77. char** Colors = new char* [Amount_colors];
  78. for ( i = 0; i < Amount_colors; i++){
  79. Colors[i] = new char [COLOR_LENGTH];
  80. Colors[i] = Colors_s[i];
  81. }
  82. }
  83. else {
  84. for ( i = 0; i < Amount_colors; i++){
  85. Colors[i] = Colors_s[i];
  86. }
  87. }
  88. findShort();
  89. }
  90.  
  91. int Skirt::getAmount_colors (){
  92. return Amount_colors;
  93. }
  94.  
  95. char** Skirt::getColors(){
  96. int i = 0;
  97. char** Colors_g = new char* [Amount_colors];
  98. for(i = 0; i < Amount_colors; i ++){
  99. Colors_g[i] = new char [COLOR_LENGTH];
  100. Colors_g[i] = Colors[i];
  101. }
  102. return Colors_g;
  103. }
  104.  
  105. void Skirt::findShort(){
  106. ShortColor = new char [COLOR_LENGTH];
  107. int i, iMin;
  108. i = 0;
  109. iMin = 0;
  110. for (i = 1; i < Amount_colors; i++){
  111. if ( strlen(Colors[i])<strlen(Colors[iMin])) {
  112. iMin = i;
  113. strcpy(ShortColor, Colors[iMin]);
  114. }
  115. }
  116. }
  117.  
  118. char* Skirt::getShort(){
  119. return ShortColor;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement