Форум программистов, компьютерный форум CyberForum.ru

Написать простейшую программу по "перегрузке" и "наследованию" - C++

Восстановить пароль Регистрация
 
chip046
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 16
15.10.2012, 12:51     Написать простейшую программу по "перегрузке" и "наследованию" #1
написать простейшую программу на СИ++ по "перегрузке" и "наследованию". заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2012, 12:51     Написать простейшую программу по "перегрузке" и "наследованию"
Посмотрите здесь:

C++ дано четырехзначное число. если сумма первых 2 цифр=сумме 2 последних, написать "yes", иначе "no"
"Предпочитайте композицию наследованию" C++
Строка: заменить первую "о" на "а", удалив остальные "о" C++
Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" C++
C++ разработать программу для работы со строками: найти и заменить в ней все символы "а" на "b"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Арсенал
144 / 66 / 6
Регистрация: 30.12.2011
Сообщений: 137
15.10.2012, 13:20     Написать простейшую программу по "перегрузке" и "наследованию" #2
chip046,

Не по теме:

открываем книжку, открываем разделы Перегрузка операторов и Наследование, копипастуем и profit. Что тебе мешает?



Добавлено через 15 минут

По поводу перегрузки - операторов или функций?
chip046
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 16
15.10.2012, 13:24  [ТС]     Написать простейшую программу по "перегрузке" и "наследованию" #3
мне надо перегрузку функций....
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.10.2012, 13:29     Написать простейшую программу по "перегрузке" и "наследованию" #4
Перегружать можно функции и операторы. В любом случае перегрузка есть написание новой функции/оператора с тем же именем, но другими типами параметров. Перегрузка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
int abs(int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
short int abs(short int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long int abs(long int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long long int abs(long long int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
float abs(float x)
{
 if (x<0.0f)
 {
  return -x;
 }
 return x;
}
double abs(double x)
{
 if (x<0.0)
 {
  return -x;
 }
 return x;
}
, не перегрузка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
int iabs(int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
short int sabs(short int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long int labs(long int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long long int llabs(long long int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
float fabs(float x)
{
 if (x<0.0f)
 {
  return -x;
 }
 return x;
}
double dabs(double x)
{
 if (x<0.0)
 {
  return -x;
 }
 return x;
}
. В первом случае каждая новая функция имеет старое имя, а во втором у каждой функции своё собственное имя. В общем случае функции с одним именем могут реализовывать разные алгоритмы, например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int abs(int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
double abs(TComplex x)
{
  return sqrt(x.re*x.re+x.im*x.im);
}
. Перегрузку используют тогда, когда разные составные операции имеют общую семантику, например, модуль числа любого типа - это всегда функция, вычисляющая расстояние от него до ноля без учёта направления. Это одна и та же функция, в не зависимости от того, измеряется ли расстояние на числовой прямой, или на комплексной плоскости. А наследование - это сохранение классом-потомком интерфейса предка. То есть когда сущности некоторой категории имеют некоторые свойства и с ними можно выполнять некоторые операции, а в этой категории есть ещё более узкая подкатегория с дополнительными свойствами/операциями, сохраняющая все свойства и операции общей категории и они выглядят также. Например, есть категория сущностей "автомобиль", а есть более узкая подкатегория "автомобиль амфибия". Нива - автомобиль, но не имеет свойств "тип водного движителя" и "скорость по воде", соответственно общая категория их тоже не имеет. А категория "автомобиль амфибия" эти свойства имеет, но также имеет и общее свойство "количество колёс", наследуемое от категории "автомобиль". Выбери и опиши задачу, которую можно решать с использованием наследования и перегрузки.
Yandex
Объявления
15.10.2012, 13:29     Написать простейшую программу по "перегрузке" и "наследованию"
Ответ Создать тему
Опции темы

Текущее время: 11:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru