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

Перегрузка функций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить координаты и значения экстремумов гамма-функции на отрезке (-2;2) http://www.cyberforum.ru/cpp-beginners/thread908764.html
вычислить координаты и значения экстремумов гамма-функции на отрезке (-2;2) (вообще без разницы на каком языке)
C++ Функция в функции :-) Привет! Задался дурацким вопросом :) Можно ли создать функцию внутри функции, чтоб её вызывать там всё время? Например: void Main() { void Child(){std::cout << "DIE YOU SON OF A ...." << std::endl;} .... //а где то в коде просто её вызывать типо Child(); Child(); :-) } http://www.cyberforum.ru/cpp-beginners/thread908756.html
C++ как освободить память?
Здравствуйте!!! Почему-то никак не освобождается память, выделенная оператором new под двумерный массив типа char,- как только идет освобождение, программа выдаем ошибку. #include<iostream> #include<cstring> using namespace std; const size_t AMOUNT_WORDS = 2; //максимальное кол-во слов const size_t MAX_LENGHT_WORD = 4; //размер слова(в реале будет на 1 символ меньше)
C++ нарисовать муравья
помогите нарисовать муровья
C++ Вопросы по наследованию http://www.cyberforum.ru/cpp-beginners/thread908743.html
Вопрос ещё по конструкторам Допустим есть система классов class A { public: A() {} }; class B: public A {
C++ Наследник класса, переопределение функции Доброго времени суток! Есть не виртуальный класс, от него необходимо наследоваться и перегрузить одну из функций. Входные параметры будут такие же, как и у существующей, имя функции необходимо оставить тоже! Можно ли это вообще сделать, или придется какой-либо фиктивный входной параметр добавлять, либо вообще в корне менять имя функции? подробнее

Показать сообщение отдельно
Chelsea Smile
2 / 2 / 0
Регистрация: 26.05.2013
Сообщений: 31
21.06.2013, 15:23     Перегрузка функций
Необходимо сделать перегрузку
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <iostream>
#include <cstdlib>
#include <clocale>
#include <algorithm>
 
using namespace std;
 
int *InitArr(int *, int);
void PrintArr(int *, int);
bool DeleteValues(int *&, int, int &);
bool DeleteValues(int *&, int &, int, int *);
 
int main()  {
    int n = 10;         // Размер массива
    int *Arr = NULL;    // Объявлениемассива
    int *Del = NULL;    // Массив удаляемых элементов
    int QuanOfElem = 3; // Количество удаляемых элементов
    int element;
    
    setlocale(LC_ALL,"Russian");
    Arr = new int [n];
 
    cout << "\n Введите значения массива из " << n << " элементов.\n" << endl;
    Arr = InitArr(Arr, n);
    
    cout << "\n Введите элемент для удаления: ";    cin >> element;
    
    // Удаление и печать
    DeleteValues(Arr, element, n);
    PrintArr(Arr, n);
 
    cout << "\n Введите " << QuanOfElem << " элемента для удаления: \n" << endl;
    
    Del = new int[QuanOfElem];          // Выделение памяти под массив
    for(int i = 0; i < QuanOfElem; i++)
    {
        cout << " " << i+1 << "-й - "; 
        cin >> Del[i];
    }
    
    // Удаление и печать
    DeleteValues(Arr, n, QuanOfElem, Del);
    PrintArr(Arr, n);
 
    delete []Del;
    delete []Arr;
 
    return 0;
}
 
/* Заполнение массива */
int *InitArr(int *Arr, int n)   {
    for(int i = 0; i < n; i++)  {
        cout << " [" << i << "] - ";
        cin >> Arr[i];
    }
    return Arr;
}
 
/* Печать массива */ 
void PrintArr(int *Arr, int n)  {
    cout << "\n РЕЗУЛЬТАТ: ";
    for(int i = 0; i < n; i++)
        cout << " " << Arr[i];
    cout << endl;
    return;
}
 
/* Удаление одного элемента */
bool DeleteValues(int *&Arr, int value, int &n)
{
    int j = 0;
    for (int i = 0; i < n; ++i) {
        Arr[j] = Arr[i];
        j += (Arr[i] != value);
    }
    bool b = (n != j);
    if (b) {
        n = j;
        int *temp = new int[n];
        copy(Arr, Arr + n, temp);   
        delete [] Arr;
        Arr = temp;
    }
    return b;
}
 
/* Удаление нескольких элементов из массива */
bool DeleteValues(int *&Arr, int &n, int count, int *vals)
{
    int j = 0;
    for(int i = 0; i < n; ++i) {
        Arr[j] = Arr[i];
        j += (!binary_search(vals, vals + count, Arr[i]));
    }
    bool b = (n != j);
    if(b) {
        n = j;
        int *temp = new int[n];
        copy(Arr, Arr + n, temp);
        delete [] Arr;
        Arr = temp;
    }
    return b;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru