Форум программистов, компьютерный форум 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 минуту Составить программу с использованием рекурсивной функции, в которой вычислить сумму 12 членов рекурсивной последовательности Х0=1; Х1=1; Хк=0,7Хк-1+1,1Хк-2, к=2,3,...
Заменить комментарии нечетной строки комментариями четной C++
Исходный текст должен содержаться в одном файле, результат — во втором файле. В программе на ассемблере заменить комментарии нечетной строки комментариями четной.
C++ Строки с++ http://www.cyberforum.ru/cpp-beginners/thread315494.html
a)Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских и русских букв. b) Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке. помогите пож-та... сколько не пытаюсь я не могу решить эти задачи Добавлено через 18 минут помогите пож-та!!! может у кого то есть уже готовая программа или так обьяснить сможет=((((((((
C++ Вывести элементы массива в определенном порядке здраствуйте! кто может помогите пож-та или подскажите чем сможете... a)Дан массив A размера N. Вывести вначале его элементы с нечетными номерами в порядке возрастания номеров, а затем — элементы с четными номерами в порядке убывания номеров: A1, A3, A5, ... , A6, A4, A2. Условный оператор не использовать. Добавлено через 20 минут помогите пож-та!!! может у кого то есть уже готовая... подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,270
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");
}
,
Хотя, наверное в этом коде тоже присутствует возвращение объекта, просто оно неявное и скрыто где-то внутри кода конструктора и чтобы оно было, компилятор сам заботится об этом, угу?
 
Текущее время: 15:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru