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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Andriy_abc
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 3
#1

Где может быть использована сигнатура int& foo()=7 - C++

31.03.2014, 23:23. Просмотров 302. Ответов 4
Метки нет (Все метки)

Друзья,

это чисто теоретический вопрос. Подскажите где может быть использована такая функция. Какой в этом практический смысл?

int& foo()=7;

Детали: тип не принципиален, целый взят просто в качестве примера.

Большое спасибо заранее.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2014, 23:23     Где может быть использована сигнатура int& foo()=7
Посмотрите здесь:

C++ Подскажите где в программе может быть ошибка
C++ Где используются логические операторы && и ||
int &wordOffset C++
Где может быть ошибка? C++
C++ где может быть ошибка на с++
//unresolved external symbol "void_cdecl fun1(int,int)" (&fun1@@YAXHH@Z) referenced in function_main C++
C++ Foo::foo(): x(dx), y(dy) {}; Зачем
присваивание char - где тут может быть ошибка? C++
Отличие int от int& C++
Просуммировать количество точек в наборе домино, где количество точек на каждом конце может быть от 1 до n C++
В чем отличие int &f( ) от int f( ) C++
C++ Ошибка: Cube::Cube(Cube &&)': cannot convert argument 1 from 'int' to 'int *[]'

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex566
 Аватар для Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
31.03.2014, 23:30     Где может быть использована сигнатура int& foo()=7 #2
Может быть так?
C++
1
2
3
4
class A
{
    virtual int foo() = 0;
};
Абстрактный виртуальный метод класса.
Andriy_abc
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 3
22.04.2014, 11:30  [ТС]     Где может быть использована сигнатура int& foo()=7 #3
спс за вариант, но тут дело не в чистом вирт методе, =7 это не ошибка
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
22.04.2014, 13:10     Где может быть использована сигнатура int& foo()=7 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int & foo()
{
static int x = 0;
return x;
}
int main()
{
foo() = 4;
cout<<foo()<<endl;
foo()=9;
cout<<foo()<<endl;
return 0;
}
а вариантов использования такой возможности можно придумать просто кучу
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
22.04.2014, 13:56     Где может быть использована сигнатура int& foo()=7 #5
Andriy_abc, если речь идет о такой конструкции,
C++
1
2
3
4
struct A
{
    virtual void foo() = 7;
};
то так делать нельзя. Я точно не помню насчет поведения студии, но даже если студия такое пропускает, то это все равно ошибка.
Если имелось в виду что-то другое, то см. ответ aLarman.
Yandex
Объявления
22.04.2014, 13:56     Где может быть использована сигнатура int& foo()=7
Ответ Создать тему
Опции темы

Текущее время: 01:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru