lesson_2 #2

Open
alexander wants to merge 8 commits from lesson_2 into master
Owner
  1. Создать класс Person (человек) с полями: имя, возраст, пол и вес. Определить методы переназначения имени, изменения возраста и веса. Создать производный класс Student (студент), имеющий поле года обучения. Определить методы переназначения и увеличения этого значения. Создать счетчик количества созданных студентов. В функции main() создать несколько студентов. По запросу вывести определенного человека.

  2. Создать классы Apple (яблоко) и Banana (банан), которые наследуют класс Fruit (фрукт). У Fruit есть две переменные-члена: name (имя) и color (цвет). Добавить новый класс GrannySmith, который наследует класс Apple.

int main()
{
    Apple a("red");
    Banana b;
    GrannySmith c;

    std::cout << "My " << a.getName() << " is " << a.getColor() << ".\n";
    std::cout << "My " << b.getName() << " is " << b.getColor() << ".\n";
    std::cout << "My " << c.getName() << " is " << c.getColor() << ".\n";

    return 0;
}
My apple is red.
My banana is yellow.
My Granny Smith apple is green.
  1. Изучить правила игры в Blackjack. Подумать, как написать данную игру на С++, используя объектно-ориентированное программирование. Сколько будет классов в программе? Какие классы будут базовыми, а какие производными? Продумать реализацию игры с помощью классов и записать результаты.
1. Создать класс Person (человек) с полями: имя, возраст, пол и вес. Определить методы переназначения имени, изменения возраста и веса. Создать производный класс Student (студент), имеющий поле года обучения. Определить методы переназначения и увеличения этого значения. Создать счетчик количества созданных студентов. В функции main() создать несколько студентов. По запросу вывести определенного человека. 2. Создать классы Apple (яблоко) и Banana (банан), которые наследуют класс Fruit (фрукт). У Fruit есть две переменные-члена: name (имя) и color (цвет). Добавить новый класс GrannySmith, который наследует класс Apple. ```cpp int main() { Apple a("red"); Banana b; GrannySmith c; std::cout << "My " << a.getName() << " is " << a.getColor() << ".\n"; std::cout << "My " << b.getName() << " is " << b.getColor() << ".\n"; std::cout << "My " << c.getName() << " is " << c.getColor() << ".\n"; return 0; } ``` ``` My apple is red. My banana is yellow. My Granny Smith apple is green. ``` 3. Изучить правила игры в Blackjack. Подумать, как написать данную игру на С++, используя объектно-ориентированное программирование. Сколько будет классов в программе? Какие классы будут базовыми, а какие производными? Продумать реализацию игры с помощью классов и записать результаты.
alexander added 4 commits 2021-06-22 11:43:39 +00:00
alexander added 1 commit 2021-06-22 16:28:54 +00:00
alexander added 2 commits 2021-06-23 11:30:11 +00:00
alexander added 1 commit 2021-06-23 11:32:38 +00:00
jediserg reviewed 2021-06-28 15:31:39 +00:00
@ -0,0 +3,4 @@
#include <iostream>
enum Gender
First-time contributor

Я бы объявил enum в классе и кстати можно enum class использовать

Я бы объявил enum в классе и кстати можно enum class использовать
jediserg reviewed 2021-06-28 15:32:48 +00:00
@ -0,0 +74,4 @@
count++;
}
Student(const Student &s) : Person(s)
First-time contributor

Отлично! Но в идеале еще конструктор перемещения))

Отлично! Но в идеале еще конструктор перемещения))
jediserg reviewed 2021-06-28 15:33:36 +00:00
@ -0,0 +35,4 @@
public:
Apple(std::string color = "")
{
if (color == "")
First-time contributor

ну тогда в значения параметра по умолчанию сразу green

ну тогда в значения параметра по умолчанию сразу green
jediserg reviewed 2021-06-28 15:34:07 +00:00
@ -0,0 +48,4 @@
public:
Banana(std::string color = "")
{
if (color == "")
First-time contributor

здесь тоже в значение параметра по умолчанию цвет

здесь тоже в значение параметра по умолчанию цвет
jediserg reviewed 2021-06-28 15:34:46 +00:00
@ -0,0 +3,4 @@
#include <iostream>
class Fruit
First-time contributor

я бы конструктор сделал и в дочерних его вызывал из списка инициализации

я бы конструктор сделал и в дочерних его вызывал из списка инициализации
This pull request can be merged automatically.
You are not authorized to merge this pull request.
You can also view command line instructions.

Step 1:

From your project repository, check out a new branch and test the changes.
git checkout -b lesson_2 master
git pull origin lesson_2

Step 2:

Merge the changes and update on Gitea.
git checkout master
git merge --no-ff lesson_2
git push origin master
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: alexander/geekbrains_oop_cpp#2
No description provided.