Advertisement
BeloMaximka

Belov_LW_O1_HUMAN

Sep 3rd, 2021
1,277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.54 KB | None | 0 0
  1. #include "iostream"
  2. using namespace std;
  3.  
  4. class Human
  5. {
  6. public:
  7.     // Конструкторы/деструкторы
  8.     Human()
  9.     {
  10.         name = new char;
  11.         *name = '\0';
  12.         sname = new char;
  13.         *sname = '\0';
  14.         age = 0;
  15.         kg = 0.0;
  16.     }
  17.     Human(const char* s_name, const char* s_sname, int s_age, int s_kg)
  18.     {
  19.         name = new char[strlen(s_name) + 1];
  20.         strcpy_s(name, strlen(s_name) + 1, s_name);
  21.         sname = new char[strlen(s_sname) + 1];
  22.         strcpy_s(sname, strlen(s_sname) + 1, s_sname);
  23.  
  24.         age = s_age;
  25.         kg = s_kg;
  26.     }
  27.     ~Human()
  28.     {
  29.         delete[] name;
  30.         delete[] sname;
  31.     }
  32.     // Остальные методы
  33.     void Input()
  34.     {
  35.         cout << "Enter you human:\n";
  36.         cout << "Name:";
  37.         char temp[256]; //буфер для введённого имени
  38.         cin.getline(temp, 256);
  39.  
  40.         delete[] name;
  41.         name = new char[strlen(temp) + 1];
  42.         strcpy_s(name, strlen(temp) + 1, temp);
  43.  
  44.         cout << "Surname:";
  45.         cin.getline(temp, 256);
  46.  
  47.         delete[] sname;
  48.         sname = new char[strlen(temp) + 1];
  49.         strcpy_s(sname, strlen(temp) + 1, temp);
  50.  
  51.         cout << "Age:";
  52.         cin >> age;
  53.         cout << "Weight(kg):";
  54.         cin >> kg;
  55.     }
  56.     void Print()
  57.     {
  58.         cout << "Here's you human:\n";
  59.         cout << "Name: " << name << endl
  60.             << "Surname: " << sname << endl
  61.             << "Age: " << age << endl
  62.             << "Weight: " << kg << " kg\n";
  63.     }
  64. private:
  65.     char* name;
  66.     char* sname;
  67.     int age;
  68.     double kg;
  69. };
  70.  
  71. int main()
  72. {
  73.     Human input_test;
  74.     input_test.Print();
  75.     input_test.Input();
  76.     input_test.Print();
  77.  
  78.     Human constr_test("Nod", "Solrac", 92, 39);
  79.     constr_test.Print();
  80.  
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement