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

У меня класс 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 <windows.h> #include <clocale> using namespace std;
C++ дан массив, пределить какой из массивов представляет собой «правильную» последовательность, то есть каждое следующее число больше предыдущего помогите пожалуйста разобраться. дан массив, пределить какой из массивов представляет собой «правильную» последовательность, то есть каждое следующее число больше предыдущего Именуйте темы осмысленно! Название темы должно максимально полно отражать её содержимое. http://www.cyberforum.ru/cpp-beginners/thread315309.html
ShellExecute - конфликтация типов C++
Разрешите вопрос о конфликтации типов при открытии папки. ShellExecute(0, "explore", sName, NULL, NULL, SW_SHOWNORMAL); где в sName хранится путь к папкам, AnsiString sName; Добавлено через 3 часа 17 минут upd... Добавлено через 1 час 8 минут upd....
График 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
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
07.06.2011, 21:00     У меня класс B в классе A, а в классе B рекурсивная функция переопределения оператора "()", как её вызвать, не создавая явно объект класса B?
Это будет не явно ?
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");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru