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

определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ программа должна выводить день недели. http://www.cyberforum.ru/cpp-beginners/thread321701.html
Здравствуйте! прошу помочь написать программу(или хотя бы помочь с началом).. Программа такая: Известно, что 1 января 1999 г. – пятница. Для любой заданной даты программа должна выводить день недели. Не получается написать( нету мыслей( Заранее спасибо!!
C++ Движение switch() Вот примерный код: const int H = 30; const int W = 30; char karta; for (int y = 0; y < H; ++y) for (int x = 0; x < W; ++x) karta = '.'; karta = ' '; for (int y = 0; y < H; ++y) { http://www.cyberforum.ru/cpp-beginners/thread321700.html
в массиве 1 и 3 число не выводилось C++
Дан массив целочисленных значение, Ввести данные, а при выведении не должно показывать 1 и 3 символ, К примеру 12345 должно быть: 2 45 :) #include "stdafx.h" # include <iostream> # include <conio.h> # include <Windows.h> using namespace std; int main () {
C++ Компаненты MS Visual Studio
Где можно скачать сторонние компоненты(Таблицу) для MS Visual Studio?
C++ Заполнение матрицы змейкой по диагонали http://www.cyberforum.ru/cpp-beginners/thread321660.html
Дано натуральное N (1<=N<=10). Заполнить матрицу порядка NxN целыми числами 0, 1, 2, 3, …, NxN – 1 по диагонали(из правого верхнего угла в левый нижний): 6 5 1 0 12 7 4 2 13 11 8 3 15 14 10 9 Пожалуйста, подскажите идею как можно сделать задачу через циклы.
C++ Переделать Программы Есть 7 задачек , есть исходники как всем задачькам но с немного отличающимися данными может кто-то помочь переделать Си вижу во второй раз( подробнее

Показать сообщение отдельно
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424

определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер? - C++

17.06.2011, 19:36. Просмотров 3305. Ответов 15
Метки (Все метки)

Сабж, а подробнее если в заголовочном файле hider.h описана функция, допустим так:
C++
1
2
3
4
void f ();
void f () {
  int per= 10;
}
Причём что очень важно, int per= 10 это тык скыть стандартный способ работы функции, а предполагается ещё и нестандартный, например

C++
1
int per= 22;
(понятно, что коды намного сложнее, это для примера)
Так, а прототип функции должен остаться ПРЕЖНИМ
[CPP]void f ();/CPP]

Так, вот пользователь хидера должен сам определять пользоваться ли ему стандартной функцией f:
C++
1
2
3
4
#incliude "hider.h"
int main () {
 f();
}
или писать свою так:
C++
1
2
3
4
5
6
7
8
#incliude "hider.h"
//прототип не пишем, ибо он прежний; уже прописан в хидере
void f () {
  int per= 22;
};
int main () {
 f();
}
ОК, но тогда пользователю во втором случае придётся лезть в хидер и ковыряться в нём своими толстыми пальцами, конкретнее- закомментировать стандартное определение f(); Возможно ли обойтись без этого, например, директивами препроцессору? Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru