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

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

Восстановить пароль Регистрация
 
M1ronz0r
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 69
19.07.2013, 00:55     Не срабатывает конструктор класса #1
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"
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 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;
}
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;
}
Спасибо)
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
19.07.2013, 10:08     Не срабатывает конструктор класса #4
Цитата Сообщение от M1ronz0r Посмотреть сообщение
Не срабатывает конструктор класса
а чтобы точно узнать срабатывает он или не срабатывает, то я обычно в конструкторе пишу такую строчку
C++
1
cout << "Конструктор" << endl;
если при запуске этой строки не будет, значит конструктор не срабатывает
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
19.07.2013, 10:09     Не срабатывает конструктор класса #5
Цитата Сообщение от BigLow Посмотреть сообщение
а чтобы точно узнать срабатывает он или не срабатывает
Можете привести пример, когда конструктор не срабатывает?
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
19.07.2013, 10:14     Не срабатывает конструктор класса #6
Croessmah, конструкторы разные бывают. есть по умолчанию, есть с аргументами, есть конструкторы копии. и тут неизвестно какой из них сработает)
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.07.2013, 10:18     Не срабатывает конструктор класса #7
Цитата Сообщение от BigLow Посмотреть сообщение
и тут неизвестно какой из них сработает)
Вообще не известно, компилятор же рандомно выбирает какой конструктор вызвать
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
19.07.2013, 10:18     Не срабатывает конструктор класса #8
Цитата Сообщение от BigLow Посмотреть сообщение
и тут неизвестно какой из них сработает)
Значит пора в раздел учебников "Hello World"
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,061
19.07.2013, 10:24     Не срабатывает конструктор класса #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Можете привести пример, когда конструктор не срабатывает?
Нук это
объект не создали
а вообще сей способ хорош, когда в классе стопицот конструкторов и сам запутался какой вызывать

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

Не по теме:

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



Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
Не спорю, полезно, но всё же нужно знать что пишешь, а то получается написал код а он работает неизвестно по какой причине
С этим то никто не спорит
но для обучения в самый раз, написал кучу конструкторов создал объект по разному и смотришь какой конструктор когда вызывается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2013, 10:31     Не срабатывает конструктор класса
Еще ссылки по теме:

Конструктор класса C++
Не срабатывает конструктор объекта C++
C++ Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами

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

Или воспользуйтесь поиском по форуму:
Croessmah
19.07.2013, 10:31     Не срабатывает конструктор класса
  #12

Не по теме:

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

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

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