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

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

Войти
Регистрация
Восстановить пароль
 
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
#1

Метод не возвращает значение - C++

23.08.2014, 13:18. Просмотров 517. Ответов 7
Метки нет (Все метки)

Здравствуйте. Создал простейший метод, для возвращения введённого значения. А возвращает то-адрес, то-ли что-то непонятно. Прошу объяснить в чём проблема

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
39
// ConsoleApplication18.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
 
class School
    {
        private:
 
        int year;
        
        public:
            int setyear(int year)
            {
                return year;
            };
      
            void getyear()
            {
                cout<<year;
            };
        
    };
    
int main(int argc, char* argv[])
{
    int ye=0;
    cin>>ye;
    School Main;
 
    Main.setyear(ye);
    Main.getyear();
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2014, 13:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод не возвращает значение (C++):

Как получить значение из метода класса, если метод возвращает указатель? - C++
Всем привет. Как получить значение из метода класса, если метод возвращает указатель? Вот тут я пилю типо класса аккаунтов, у меня не...

Метод класса возвращает template type - C++
надо создать метод который возвращает значение privat переменных разных типов. например я прикинул простинькую програмку: class...

Абстрактный класс. Виртуальный метод, который возвращает T- тип - C++
Привет! Допустим, есть абстрактный класс, и метод, который возвращает T-тип. class A { public: template &lt;class T&gt; T*...

Не возвращает значение - C++
Здравствуйте! Помогите люди добрые?) Вообщем, нужно написать на Visual C++ библиотеку? а после запустить ее на Лабвью Код есть...

Подпрограмма не возвращает значение - C++
Отрывок программы. Не возвращает значение pr (в подролграмме считает по-новому , но в соновной записывает по старому) * * * ...

Функция не возвращает значение - C++
Функция ничего не возвращает: int Return(int s) { return s; } Передаю в аргумент S целочисленную переменную, но результата в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Alexandr_1982
177 / 74 / 17
Регистрация: 04.11.2013
Сообщений: 385
Записей в блоге: 4
23.08.2014, 13:21 #2
Не инициализирована переменная year в классе. Функция setyear не устанавливает значение переменной year, как предполагается.
0
0x10
2463 / 1635 / 238
Регистрация: 24.11.2012
Сообщений: 4,022
23.08.2014, 13:22 #3
Метод setyear принимает на вход парметр и возвращает его же, не модицифируя поле класса - year. Соответственно, в нем мусор.
И старайтесь избегать дублирования имен.
0
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
23.08.2014, 13:27  [ТС] #4
При попытке инициализации в классе ошибка:
2 IntelliSense: использование инициализатора элемента данных не допускается c:\Users\рр\Documents\Visual Studio 2012\Projects\ConsoleApplication18\ConsoleApplication18\ConsoleApplication18.cpp 14 14 ConsoleApplication18
0
0x10
2463 / 1635 / 238
Регистрация: 24.11.2012
Сообщений: 4,022
23.08.2014, 13:35 #5
Цитата Сообщение от avatar1870 Посмотреть сообщение
2 IntelliSense: использование инициализатора элемента данных не допускается
Телепатов нет, показывайте код.
0
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
23.08.2014, 13:37  [ТС] #6
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
39
// ConsoleApplication18.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
 
class School
    {
        private:
 
        int year=0;
        
        public:
            int setyear(int year)
            {
                return year;
            };
      
            void getyear()
            {
                cout<<year;
            };
        
    };
    
int main(int argc, char* argv[])
{
    int ye=0;
    cin>>ye;
    School Main;
 
    Main.setyear(ye);
    Main.getyear();
    system("pause");
    return 0;
}
0
0x10
2463 / 1635 / 238
Регистрация: 24.11.2012
Сообщений: 4,022
23.08.2014, 13:56 #7
Такой синтаксис допустим в стандарте С++11. Если компилятор его не поддерживает, значит, нужно писать конструктор.

И да - проблему из первого поста это не решит. Почему - писали выше.
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
23.08.2014, 14:22 #8
Цитата Сообщение от avatar1870 Посмотреть сообщение
int setyear(int year) { return year; };
Не так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class School
    {
        private:
 
        int year=0;
        
        public:
            int setyear(int year)
            {
                this->year=year;
                return year;
            };
      
            void getyear()
            {
                cout<<year;
            };
        
    };
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2014, 14:22
Привет! Вот еще темы с ответами:

this возвращает неправильное значение - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class oops{ public: oops():key(10){} int key; oops&amp; oper1(int...

Функция не возвращает значение - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iomanip&gt; #include &quot;stdafx.h&quot; using namespace std; const int max_size = 100; ...

noexcept возвращает значение? - C++
Прототип std::swap выглядит так: template &lt;class T, size_t N&gt; void swap(T (&amp;a), T (&amp;b)) noexcept (noexcept(swap(*a,*b))); Получается,...

Функция get() не возвращает значение - C++
Есть класс, в котором определен объект типа SDL_Surface*. Пытаюсь передать его в сторонний класс с помощью метода getScreen(), но он по...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.08.2014, 14:22
Ответ Создать тему
Опции темы

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