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

Пример из собеседования по C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объектно-ориентированное программирование http://www.cyberforum.ru/cpp-beginners/thread971699.html
Кто силён и мне поможет? Объектно-ориентированное программирование 1. Объявить класс по приведенному ниже заданию в соответствии с номером варианта и определить для него конструктор по умолчанию, конструктор инициализации и конструктор преобразования. 2. Определить функции-члены класса для ввода и вывода членов-данных внутри объявления класса. 3. Составить программу, которая определяет...
C++ Как динамически выделять память на один элемент массива? Вот программа: int main() { int n,a,b; Item *mas; cout << "Enter amount of coordinates" << endl; cin >> n; cout << "Enter coordinates" << endl; for(int i = 0; i < n; i++) http://www.cyberforum.ru/cpp-beginners/thread971694.html
сумма чисел.Интересная программа C++
Найти сумму чисел на интервале [x;y), которые в четверичной системе записи состоят только из двоек и единиц. Использовать - прибавление 1,=,<,+,-,*,:,целочисленное деление , % остаток от деления.
C++ Даны целые числа a,b,c
Если a<=b<=c то все значения заменить их квадратами, если a>b>c то каждое число заменить наибольшим из них, в противном случае сменить знак каждого числа на противоположный a=a*a b=b*b c=c*c, a<=b<=c a=c b=c, a>b>c a=-a b=-b c=-c, во всех остальных случаях
C++ Задана матрица А(4,4). Заменить первый нуль в каждом столбце на количество нулей в этом столбце http://www.cyberforum.ru/cpp-beginners/thread971672.html
2) Задана матрица А(4,4). Заменить первый нуль в каждом столбце на количество нулей в этом столбце.
C++ Подскажите для начинающего! Подскажите с чего лучше начать изучать программирование для начинающего? Какие книги нужны?С какого языка начать? Программированием никогда не занимался вообще... подробнее

Показать сообщение отдельно
tzeentch
 Аватар для tzeentch
24 / 24 / 2
Регистрация: 13.04.2013
Сообщений: 79
08.10.2013, 13:00     Пример из собеседования по C++
Потому что в языке С++ можно описать класс, объекты которого можно вызывать как функции.
Поэтому он сперва пытается получить доступ к члену g, принадлежащему D, чтобы проверить - не функтор ли он, а g у нас private...
Вот пример:

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
#include <iostream>
 
class B {
  public:
    void g() {
      std::cout << "Function called!\n";
    }
};
 
class Functor {
  public:
    void operator () () {
      std::cout << "Functor called!\n";
    }
};
 
class D : public B {
  public:
    Functor g;
};
 
 
int main(int, char**) {
  D d;
  d.g();     // Functor call
  d.B::g();  // Function call
  return 0;
}
 
Текущее время: 02:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru