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

В конструкторе вложенного класса инициализируется приватное поле. Потом вызывается функция-метод этого класса и выводит значение этого поля НО НЕ ТО! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Футбольный ЧЕМПИОНАТ!!! http://www.cyberforum.ru/cpp-beginners/thread315511.html
Исходные данные или результат или и то и другое должно размещаться в текстовом файле. Отсортировать список команд по суммам очков двух туров футбольного чемпионата.
C++ Подсчитать количество подстрок в текстовом файле Помогите написать программу которая может подсчитать сколько раз подстрока встречается в текстовом файле. http://www.cyberforum.ru/cpp-beginners/thread315507.html
Рекурсия: вычислить сумму членов заданной последовательности C++
Составить программу с использованием рекурсивной функции, в которой вычислить сумму 12 членов рекурсивной последовательности Х0=1; Х1=1; Хк=0,7Хк-1+1,1Хк-2, к=2,3,... Добавлено через 3 часа 41...
Заменить комментарии нечетной строки комментариями четной C++
Исходный текст должен содержаться в одном файле, результат — во втором файле. В программе на ассемблере заменить комментарии нечетной строки комментариями четной.
C++ Строки с++ http://www.cyberforum.ru/cpp-beginners/thread315494.html
a)Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских и русских букв. b) Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке. ...
C++ Вывести элементы массива в определенном порядке здраствуйте! кто может помогите пож-та или подскажите чем сможете... a)Дан массив A размера N. Вывести вначале его элементы с нечетными номерами в порядке возрастания номеров, а затем — элементы с... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,494
08.06.2011, 18:46  [ТС]
silent_1991,размышляю. Дело в том, что мне в конструкторе не надо передавать значение int (бессмысленн). То есть у меня создаются функции-методы, которые принимают параметрами переменную int
C++
1
2
3
4
5
6
 A ob_1;
 ob_1.B_(89)();
 ob_1.B_(12)();
 ob_1.B_(34)();
 ob_1.B_(42)();
 //И так далее, не конструктор принимает int, а метод!
Повоторяю, это для интерфейса.
И вот, я должен быть уверен, что во внутреннем классе b есть приватное поле, которое
становится равным 89; pito211 сподобил на рабочее

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{
 private:
 
 //А вот вложенный
 class B { 
  public: 
 
   //А вот инициализация приватного члена i вложенного класса
   B(int z): i(z){} 
   void operator()(){ 
 
    //Была чушь, теперь чё надо!!
    printf ("i= %d\n", i);
    getchar ();
   } 
  private: 
   int i ; 
 }; 
 
 public:
  A (){};
  B B_(int z) {
   return B(z);
  }
};
   
 
int main() {
 A ob_1;
 ob_1.B_(89)();
 system ("pause");
}
Добавлено через 14 минут
pito211,пожалуй, что соглашусь, почему пожалуй, потому, что наблюдаем вызов конструктора классе безо всякого возвращения объекта, тем не менее, к "невозвращённому объекту" применима "operator ()"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <iostream>
using namespace std;
 
class A{
 public:
  int operator () (int x) {
   return x;
  }         
};
   
 
int main() {
 //Вот здесь
 printf ("A()(6)= %d\n", A()(6));
 system ("pause");
}
,
Хотя, наверное в этом коде тоже присутствует возвращение объекта, просто оно неявное и скрыто где-то внутри кода конструктора и чтобы оно было, компилятор сам заботится об этом, угу?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru