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

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

Восстановить пароль Регистрация
 
Andriy_abc
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 3
31.03.2014, 23:23     Где может быть использована сигнатура int& foo()=7 #1
Друзья,

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

int& foo()=7;

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

Большое спасибо заранее.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
636 / 557 / 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
6442 / 3816 / 885
Регистрация: 30.01.2014
Сообщений: 6,610
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
Ответ Создать тему
Опции темы

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