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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Как присвоить значение переменным a и b находящимся в классе area_cl http://www.cyberforum.ru/cpp-beginners/thread671554.html
Подскажите пожалуйста, как присвоить значение переменным a и b находящимся в классе area_cl, из функции main()? #include <iostream> #include <math.h> using namespace std; class area_cl { public: int a, b;
C++ Выводит системную дату в файл в миллисекундах, не смотря на работу фунцкии localtime Добрый день. В этой программе берётся системное время, сначала выводится на экран(всё нормально), а затем передаём это в файл. а в файле время выводится не в том формате. Скажите пожалуйста в чём может быть дело. Чтоб вывести время в файл, надо создать новые часы в программе. Заранее огромное спасибо за идеи! заголовоный файл #ifndef lab_h #define lab_h struct Time { http://www.cyberforum.ru/cpp-beginners/thread671531.html
C++ Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию
Дан вектор Х из N вещественных чисел. Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию, находящую минимум среди последних элементов вектора Х, начиная с N-го.
Как найти рациональные корни полинома? C++
Ломаю голову уже пару дней, не могу понять теорему к решению этой задачи. Найти все рациональные корни полинома n-й степени с целыми коэффициентами f(x)=2*x^2+7*x^3-12*x^2-38*x+21. Теорема. Для того чтобы несократимая дробь p/q была корнем уравнения an (q!=0) xn + an-1 xn-1 + ... + a0 = 0 с целыми коэффициентами, необходимо, чтобы число р было делителем свободного члена а0, а число q –...
C++ Поиск заданной последовательности символов в бинарном файле http://www.cyberforum.ru/cpp-beginners/thread671455.html
Допустим в файле написано "raz dva tri dva raz raz dva". Нужно произвести поиск и подсчёт введёной пользователем последовательности символов. Алгоритм поиска-подсчёта должен осуществляться с функцией strcmp. Среда Visual C++. Вот мой недоделанный код: #include "StdAfx.h" #include <locale.h> #include <stdio.h> #include <string> #include <iostream> using namespace std;
C++ Как считывать информация с файла по байтам У меня есть файл, выглядит как график, hex-вид : 00000001: 80 01 00 02 00 05 00 02 00 56 80 02 00 03 00 55 00000002: 56 00 00 04 22 00 88 00 00 05 87 00 80 03 25 00 первое слово 80 01 это координата Xи все слова начинающиеся на 80 это X второе слово 00 02 это координата Y третье слово 00 05 это значение переменной А в точке XY Далее идет чередование Y и A, и так до следующей координаты X... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.10.2012, 13:29     Написать простейшую программу по "перегрузке" и "наследованию"
Перегружать можно функции и операторы. В любом случае перегрузка есть написание новой функции/оператора с тем же именем, но другими типами параметров. Перегрузка:
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);
}
. Перегрузку используют тогда, когда разные составные операции имеют общую семантику, например, модуль числа любого типа - это всегда функция, вычисляющая расстояние от него до ноля без учёта направления. Это одна и та же функция, в не зависимости от того, измеряется ли расстояние на числовой прямой, или на комплексной плоскости. А наследование - это сохранение классом-потомком интерфейса предка. То есть когда сущности некоторой категории имеют некоторые свойства и с ними можно выполнять некоторые операции, а в этой категории есть ещё более узкая подкатегория с дополнительными свойствами/операциями, сохраняющая все свойства и операции общей категории и они выглядят также. Например, есть категория сущностей "автомобиль", а есть более узкая подкатегория "автомобиль амфибия". Нива - автомобиль, но не имеет свойств "тип водного движителя" и "скорость по воде", соответственно общая категория их тоже не имеет. А категория "автомобиль амфибия" эти свойства имеет, но также имеет и общее свойство "количество колёс", наследуемое от категории "автомобиль". Выбери и опиши задачу, которую можно решать с использованием наследования и перегрузки.
 
Текущее время: 16:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru