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

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

Войти
Регистрация
Восстановить пароль
 
Ёрик
46 / 46 / 2
Регистрация: 07.01.2009
Сообщений: 298
#1

Функция, возвращающая ссылку на static - C++

07.02.2009, 21:42. Просмотров 929. Ответов 1
Метки нет (Все метки)

Задание такое: написать функцию f1,которая содержит локальную статическую переменную k,возводит ее в квадрат и возвращает ссылку на эту переменную. Написать фунцию f2,которая считывает число с клавиатуры и присваивает это значение переменной k функции f1.
Задание очень легое,но я могу понять смысл этого задания...Ниже код.
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
#include <iostream>
using namespace std;
 
int &f1(int &g)
{
    static int k;
    int &j = k;
    k = g;
    k = k*k;
    return j;
}
 
 
void f2()
{
    int g;
    cout << "Enter number: ";
    cin >> g;
    cout << f1(g) << endl;
}
int main()
{
    f2();
    return 0;
}
Если я не понял задание,то объясните,пожалуйста,как надо сделать!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2009, 21:42     Функция, возвращающая ссылку на static
Посмотрите здесь:
Функция возвращающая ссылку C++
Функция, возвращающая ссылку C++
C++ Функция, возвращающая ссылку на вектор
C++ Чисто виртуальная функция возвращающая ссылку
C++ Функция, возвращающая указатель
C++ Функция, возвращающая vector
C++ Функция возвращающая массив
Функция, возвращающая массив C++
Функция возвращающая массив C++
C++ Функция возвращающая константу
C++ Функция, возвращающая значение
C++ Функция, возвращающая массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
08.02.2009, 02:38     Функция, возвращающая ссылку на static #2
Думаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int &foo(int &x)
{
    static int k;
        k = x;
    k*=k;
    return k;
}
void f(void)
{
    int x = 0;
    std::cout<<"Enter number: "; std::cin>>x;
    std::cout<<foo(x)<<std::endl;
}
int main()
{
    f();
    return 0;
}
Ответ Создать тему
Опции темы

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