Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SPNN13
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 37
Завершенные тесты: 3
#1

Выборочный запуск функций - C++

06.03.2017, 16:55. Просмотров 116. Ответов 3
Метки нет (Все метки)

Есть ли возможность сделать так, чтобы функция запускалась лишь когда её инициализируют через фанк_нейм(), а не просто потому что она находится, например, выше всех в коде?
Я сразу исключаю варианты с переменными и их переключением, это выглядит как какой-то убогий костыль.
Так знает кто способ?

И ещё, чтобы вторую тему не запускать. Возможно ли запустить функцию, которая находится в списке ниже?
Когда я делал функцию проверки ниже, чем функция в которой она вызывается, выдавало ошибку, мол "идентификатор не определён". К сожалению, на сайте майкрософтов я ответ не нашёл, либо невнимательно смотрел, либо не узнал ответ. Энивей, мне нужна помощь, и третий час убивать глаза на чтение с электронного устройства я не хочу. Пожалуйста, поделитесь знанием
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2017, 16:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выборочный запуск функций (C++):

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h - C++
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных. ...

Передача значений функций в главную программу, вызов функций - C++
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную программу. Помогите найти ошибку! В итоге выводит...

Вызов функций внутри других функций - C++
#include "stdafx.h" #include "stdio.h" #include <iostream> #include <fstream> #include <iomanip> using namespace std; ...

Объявление функций внутри других функций - C++
Иногда вижу в некоторых исходниках на c объявление функций, внутри main. Например: main(){ double sum(int max_num); } ...

функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. - C++
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.

Использование функций и шаблонов функций - C++
Составьте программу – формирование цены на молоко. Животновод в начале каждой зимы цену на молоко на р%, а каждым летом снижает на столько...

3
Даценд
Модератор
Эксперт .NET
3574 / 3495 / 1789
Регистрация: 20.04.2015
Сообщений: 6,409
06.03.2017, 17:39 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
SPNN13,
Немного сумбурное описание проблемы.
Что значит выше всех в коде?
Что за варианты с переменными и их переключением?
Вот пример, который, возможно, даст ответ на оба вопроса:
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
#include<iostream>
using namespace std;
 
//объявления функций:
int sum(int, int);  //объявление функции sum
int mult(int, int); //объявление функции mult
 
int main()
{
    int (*func_name) (int, int); //объявляем указатель на функцию
    int var;
    cout << "Enter 1 if Sum(10, 5) or 2 if Mult(10, 5): ";
    cin >> var;
    func_name = (var == 1) ? sum : mult; //инициализация указателя в зависимости от введенного значения
    cout << func_name(10, 5); //выполнение функции
    return 0;
}
 
//функции определены ниже, но так как они объявлены выше, то ошибки нет
//определения функций:
int sum(int a, int b) //определение функции sum
{
    return a + b;
}
 
int mult(int a, int b) //определение функции mult
{
    return a * b;
}
1
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
06.03.2017, 17:42 #3
Первое изложи яснее. Что за фанк_нейм()?
Во-втором случае сделай предварительное объявление - прототип выше размести.
0
nd2
2414 / 2003 / 705
Регистрация: 29.01.2016
Сообщений: 6,552
06.03.2017, 17:50 #4
Цитата Сообщение от SPNN13 Посмотреть сообщение
Есть ли возможность сделать так, чтобы функция запускалась лишь когда её инициализируют через фанк_нейм(), а не просто потому что она находится, например, выше всех в коде?
Приведи пример, когда функция запускается из-за того, что она находится выше всех в коде.
0
06.03.2017, 17:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2017, 17:50
Привет! Вот еще темы с ответами:

Перегрузка функций. Реализация функций - C++
Разработать функцию f(x) , которая возвращает младшую цифру натурального числа x . Вычислить с ее помощью значение выражения z= f(a) +...

Использование функций и шаблонов функций - C++
Люди помогите пожалуйста буду очень благодарна) вобщем вот первая часть лабы Написать программу, функция main которой включает...

Запуск программы без создания окна. Запуск фоновой программы - C++
Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли. Т.е. запустился процесс, но визуально ничего не...

Запуск функций из переменной - Python
Здравствуйте. Собственно вопрос: можно ли в питоне записать в переменную имя функции и вызвать её(функцию), вызывая переменную? В нете не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.