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

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

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

Не срабатывает конструктор класса - C++

19.07.2013, 00:55. Просмотров 489. Ответов 11
Метки нет (Все метки)

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
40
41
42
43
44
45
46
47
48
/* gamers.h */
#include <string>
class gamers
{
public:
    gamers()
    {
        std::string nickname = "Hety";
        std::string name = "Hety";
        money = 0;
    }
    void name_of_gamer(std::string nameformal)
    {
        name = nameformal;
    }
    std::string get_name_gamer()
    {
        return name;
    }
    void nickname_of_gamer(std::string nicknameformal)
    {
        nickname = nicknameformal;
    }
    std::string get_nickname_of_gamer()
    {
        return nickname;
    }
    void change_ballans_plus(int moneyformal)
    {
        int tmpmoney = get_ballans();
        tmpmoney = tmpmoney + moneyformal;
        tmpmoney = money;
    }
    void change_ballans_minus(int moneyformal)
    {
        int tmpmoney = get_ballans();
        tmpmoney = tmpmoney - moneyformal;
        tmpmoney = money;
    }
    int get_ballans()
    {
        return money;
    }
private:
    std::string name;
    std::string nickname;
    int money;
};
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
#include "gamers.h"
int main()
{
    setlocale(0, "");
    gamers arr[10];
    std::string nickk;
    nickk = arr[0].get_name_gamer();
    std::cout << nickk <<std::endl; // Здесь по идее должно быть "Hety"
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 00:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не срабатывает конструктор класса (C++):

Конструктор класса не видит конструктор по умолчанию другого класса - C++
Ошибка, естественно, в Classes.cpp, в строке 20. Ругается, что у класса TailNode нет конструктора по умолчанию, хотя он там, конечно, есть....

Конструктор производного класса требует конструктор предка - C++
Выдаёт вот такую вот ошибку: no matching function for call to 'Cube::Cube()' class Cube { protected: int magInt; bool...

Не срабатывает конструктор объекта - C++
Здравствуйте, уважаемые форумчане. Это моё первое сообщение на форуме, поэтому прошу сильно не пинать, если не там создал тему или спросил...

Не срабатывает конструктор перемещения - C++
Есть класс у которого удалён конструктор перемещения. Но тем не менее, при передаче обьекта данного класса в функцию по rvalue ссылке через...

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

Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка - C++
Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка. Всем огромное спасибо за помощь! |

11
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.07.2013, 01:06 #2
C++
1
2
3
4
5
6
gamers()
{
     nickname = "Hety";
     name = "Hety";
     money = 0;
}
1
M1ronz0r
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 69
19.07.2013, 01:11  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
5
6
gamers()
{
     nickname = "Hety";
     name = "Hety";
     money = 0;
}
Спасибо)
0
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
19.07.2013, 10:08 #4
Цитата Сообщение от M1ronz0r Посмотреть сообщение
Не срабатывает конструктор класса
а чтобы точно узнать срабатывает он или не срабатывает, то я обычно в конструкторе пишу такую строчку
C++
1
cout << "Конструктор" << endl;
если при запуске этой строки не будет, значит конструктор не срабатывает
0
Croessmah
Эксперт CЭксперт С++
13427 / 7582 / 856
Регистрация: 27.09.2012
Сообщений: 18,674
Записей в блоге: 3
Завершенные тесты: 1
19.07.2013, 10:09 #5
Цитата Сообщение от BigLow Посмотреть сообщение
а чтобы точно узнать срабатывает он или не срабатывает
Можете привести пример, когда конструктор не срабатывает?
0
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
19.07.2013, 10:14 #6
Croessmah, конструкторы разные бывают. есть по умолчанию, есть с аргументами, есть конструкторы копии. и тут неизвестно какой из них сработает)
0
Kastaneda
Форумчанин
Эксперт С++
4656 / 2864 / 228
Регистрация: 12.12.2009
Сообщений: 7,276
Записей в блоге: 2
Завершенные тесты: 1
19.07.2013, 10:18 #7
Цитата Сообщение от BigLow Посмотреть сообщение
и тут неизвестно какой из них сработает)
Вообще не известно, компилятор же рандомно выбирает какой конструктор вызвать
2
Croessmah
Эксперт CЭксперт С++
13427 / 7582 / 856
Регистрация: 27.09.2012
Сообщений: 18,674
Записей в блоге: 3
Завершенные тесты: 1
19.07.2013, 10:18 #8
Цитата Сообщение от BigLow Посмотреть сообщение
и тут неизвестно какой из них сработает)
Значит пора в раздел учебников "Hello World"
0
ValeryS
Модератор
6654 / 5063 / 470
Регистрация: 14.02.2011
Сообщений: 16,934
19.07.2013, 10:24 #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Можете привести пример, когда конструктор не срабатывает?
Нук это
объект не создали
а вообще сей способ хорош, когда в классе стопицот конструкторов и сам запутался какой вызывать

Добавлено через 3 минуты
Цитата Сообщение от BigLow Посмотреть сообщение
Croessmah, конструкторы разные бывают. есть по умолчанию, есть с аргументами,
хоть один конструктор создашь по умолчанию пропадает
а если сделаешь так
C++
1
2
Myclass::Myclass(){};
Myclass::Myclass(int a=0){};
получишь по рукам еше на этапе компиляции
потому что
C++
1
Myclass A;
неизвестно какой вызывать и компилятор тормознет
1
Croessmah
Эксперт CЭксперт С++
13427 / 7582 / 856
Регистрация: 27.09.2012
Сообщений: 18,674
Записей в блоге: 3
Завершенные тесты: 1
19.07.2013, 10:24 #10
Цитата Сообщение от ValeryS Посмотреть сообщение
объект не создали
Ну дык тогда и вместо объекта кукиш
Цитата Сообщение от ValeryS Посмотреть сообщение
а вообще сей способ хорош, когда в классе стопицот конструкторов и сам запутался какой вызывать
Не спорю, полезно, но всё же нужно знать что пишешь, а то получается написал код а он работает неизвестно по какой причине
0
ValeryS
Модератор
6654 / 5063 / 470
Регистрация: 14.02.2011
Сообщений: 16,934
19.07.2013, 10:28 #11

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
Вообще не известно, компилятор же рандомно выбирает какой конструктор вызвать
Ну как бы не совсем рандомно, он еще на фазу Луны смотрит



Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
Не спорю, полезно, но всё же нужно знать что пишешь, а то получается написал код а он работает неизвестно по какой причине
С этим то никто не спорит
но для обучения в самый раз, написал кучу конструкторов создал объект по разному и смотришь какой конструктор когда вызывается
0
Croessmah
19.07.2013, 10:31     Не срабатывает конструктор класса
  #12

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
смотришь какой конструктор когда вызывается
Не совсем верная картина может получиться

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2013, 10:31
Привет! Вот еще темы с ответами:

Не срабатывает move конструктор std::unique_ptr - C++
Всем привет! Битый час не пойму почему в списке захвата компилятор ругается на удаленный копирующий конструктор unique_ptr, если я его...

В конструктор класса передать объект этого класса - C++
Вопрос на засыпку :) Как в конструктор класса передать объект этого класса? Т.е. class A { public: A(const char* s){} ...

Почему не срабатывает конструктор копирования в пользовательском классе - C++
вроде со всем разобралась, но не заходит в конструктор копирования. В чём ошибка? #include &lt;iostream&gt; #include &quot;welcome.h&quot; ...

Конструктор класса с инициализацией другого класса - C++
error C2064: term does not evaluate to a function taking 6 arguments Так же при наведении на SStria(...); Пишет: call of an object of...


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

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

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