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

У меня класс B в классе A, а в классе B рекурсивная функция переопределения оператора "()", как её вызвать, не создавая явно объект класса B? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Тип данных "Anketa" - не получается ввести пол http://www.cyberforum.ru/cpp-beginners/thread315314.html
когда запускается программа в первом пункте, не получается ввести пол не подскажите в чем проблема? #include <iostream> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include...
C++ дан массив, пределить какой из массивов представляет собой «правильную» последовательность, то есть каждое следующее число больше предыдущего помогите пожалуйста разобраться. дан массив, пределить какой из массивов представляет собой «правильную» последовательность, то есть каждое следующее число больше предыдущего Именуйте темы... http://www.cyberforum.ru/cpp-beginners/thread315309.html
ShellExecute - конфликтация типов C++
Разрешите вопрос о конфликтации типов при открытии папки. ShellExecute(0, "explore", sName, NULL, NULL, SW_SHOWNORMAL); где в sName хранится путь к папкам, AnsiString sName; Добавлено через 3...
График C++
Здравствуйте нужно зделать программу ,График функций Заранее спасибо
C++ Ошибка!!! http://www.cyberforum.ru/cpp-beginners/thread315243.html
List DeleteKey(List p, int x)//удаление по ключу { List q, a=p; /* while(p->key == x) { q = p; a=p=p->next; delete q; } */ while (p && p->next)
C++ Определить, содержатся ли в одномерном массиве одинаковые элементы Определить, содержатся ли в одномерном массиве одинаковые элементы. Помогите плз парни.. подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.06.2011, 21:00
Это будет не явно ?
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
#include <windows.h>
#include <iostream>
using namespace std;
 
 
//Вот главный класс
class A{
 public:
  A (){};
  class B;
};
 
 
//А это вот определение класса внутреннего или как его там.
//ВСя эта муть  затеяна с одной целью- рекурсивно вызвать operator()
//дабы она вернула 1, 2, 3, 4, 5
class B {
 public:
  B(): i(0){}
  static int f(int x){
    static B a;
    return a(x);
  }
 int operator()(int x){
  if (x < 5)
   operator()(++x);
  return (i-- + x);
  }
 
  private:
   int i;
};
 
 
int main() {
  std::cout << B::f(5) << B::f(5) << B::f(5) << B::f(5) << B::f(5);
 //system ("pause");
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru