ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
}
else
throw 1;
}
Также определим оператор сложения для класса Group, который
будет объединять две учебные группы в одну:
// операция сложения – объединение двух групп
Group Group::operator + (Group& gr)
{
Group newGroup(*this);
strcpy(newGroup.numberGr, numberGr);
strcat(newGroup.numberGr, "-");
strcat(newGroup.numberGr, gr.numberGr);
for(int i = 0; i < gr.count; i++)
newGroup.AddStudent(gr.students[i]);
return newGroup;
}
В обоих классах перегружается один и тот же оператор, который для
объектов каждого класса выполняет разные действия.
. . .
Matrix a(2,2), b(2,2);
cin >> a >> b;
Matrix c;
c = a + b;
Group gr991("991Э", 12), gr992("992Э", 15);
Group newGr;
newGr = gr991 + gr992;
. . .
Выбор метода для выполнения определяется типом объекта, для
которого он вызывается. В нашем случае оператор, который необходимо
выполнить, определяется типом первого операнда.
2.2.6. Наследование
Для любого объектно-ориентированного приложения необходимо
определить объекты, которые оно будет содержать. В некоторых случаях
эти объекты могут быть схожими по своей структуре и поведению, но при
этом иметь существенные различия. Также бывают ситуации, когда
89
Объектно-ориентированное программирование на С++
}
else
throw 1;
}
Также определим оператор сложения для класса Group, который
будет объединять две учебные группы в одну:
// операция сложения – объединение двух групп
Group Group::operator + (Group& gr)
{
Group newGroup(*this);
strcpy(newGroup.numberGr, numberGr);
strcat(newGroup.numberGr, "-");
strcat(newGroup.numberGr, gr.numberGr);
for(int i = 0; i < gr.count; i++)
newGroup.AddStudent(gr.students[i]);
return newGroup;
}
В обоих классах перегружается один и тот же оператор, который для
объектов каждого класса выполняет разные действия.
. . .
Matrix a(2,2), b(2,2);
cin >> a >> b;
Matrix c;
c = a + b;
Group gr991("991Э", 12), gr992("992Э", 15);
Group newGr;
newGr = gr991 + gr992;
. . .
Выбор метода для выполнения определяется типом объекта, для
которого он вызывается. В нашем случае оператор, который необходимо
выполнить, определяется типом первого операнда.
2.2.6. Наследование
Для любого объектно-ориентированного приложения необходимо
определить объекты, которые оно будет содержать. В некоторых случаях
эти объекты могут быть схожими по своей структуре и поведению, но при
этом иметь существенные различия. Также бывают ситуации, когда
89
Страницы
- « первая
- ‹ предыдущая
- …
- 87
- 88
- 89
- 90
- 91
- …
- следующая ›
- последняя »
