Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- //делегирование конструкторов сокращает количество кода при создании их перегрузок
- class Human
- {
- public:
- //первая перегрузка конструктора
- Human(std::string name)
- {
- this->name = name;
- this->age = 0;
- this->weight = 0;
- }
- //вторая перегрузка, наследующая прошлую, что и образует делегирующий конструктор
- Human(std::string name, int age) : Human(name)
- {
- this->age = age;
- }
- //третья перегрузка, наследующая прошлую, что образует еще один делегирующий конструктор
- Human(std::string name, int age, int weight) : Human(name, 100)
- {
- this->weight = weight;
- }
- void Print()
- {
- std::cout << name << std::endl << age << std::endl << weight;
- }
- private:
- std::string name;
- int age;
- int weight;
- };
- int main(int argc, char *argv[])
- {
- setlocale(LC_ALL, "Rus");
- srand(time(NULL));
- Human human("Владимир", 10);
- human.Print();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement