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

Примитивная лаба по классам. Уже написана. Не компилится - C++

Восстановить пароль Регистрация
 
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
14.11.2013, 03:18     Примитивная лаба по классам. Уже написана. Не компилится #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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
class citizen{
private:
    string name;
    string surname;
    string patronymic;
    string adress;
    string sex;
    string education;
    int year;
public:
    citizen(string inname, string  insurname, string  inpatronymic, string  inadress, string  insex, string  ineducation, int inyear)
        {
            name=inname;
            surname=insurname;
            patronymic=inpatronymic;
            adress=inadress;
            sex=insex;
            education=ineducation;
            year=inyear;
        }
void setname(string data)
    {
        name=data;
    }
void setsurname(string data)
    {
        surname=data;
    }
void setpatronymic(string data)
    {
        patronymic=data;
    }
void setadress(string data)
    {
        adress=data;
    }
void setsex(string data)
    {
        sex=data;
    }
void seteducation(string data)
    {
        education=data;
    }
void setyear(int data)
    {
        year=data;
    }
string getname()
        {
            return name;
        }
string getsurname()
        {
            return surname;
        }
string getpatronymic()
        {
            return patronymic;
        }
string getadress()
        {
            return adress;
        }
string getsex()
        {
            return sex;
        }
string geteducation()
        {
            return education;
        }
int getyear()
        {
            return year;
        }
void print();
};
 
void citizen::print()
{
    cout << this->name << ", " << this->surname << ", " << this->patronymic << ", " << this->adress << ", " << this->sex << ", " << this->education << ", " << this->year << endl;
}
 
 
int main()
{
    citizen* citizen_1 = new citizen("Todor, Ilya, Andreevich, Kiev, Male, Average finished, 1995");
    cout << "Before: ";
    citizen_1->print();
    citizen_1->setname("Anastasiya");
    citizen_1->setsurname("Brilliantova");
    citizen_1->setpatronymic("Dmitrievna");
    citizen_1->setadress("Krivoy Rog, pr.Gagarina, 12");
    citizen_1->setsex("Female");
    citizen_1->seteducation("Average unfinished");
    citizen_1->setyear(1997);
    cout << "After: ";
    citizen_1->print();
    delete citizen_1;
    getch();
    return 0;
}
Добавлено через 2 минуты
Код друга(здесь все работает):
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <string>
 
using namespace std;
 
class flat {
        string adress;
        int floor, rooms, space;
    public:
        flat(string inadress, int infloor, int inrooms, int inspace)
        {
            adress = inadress;
            floor = infloor;
            rooms = inrooms;
            space = inspace;
        }
        void setadress(string data)
        {
            adress=data;
        }
        void setfloor(int data)
        {
            floor = data;
        }
        void setrooms(int data)
        {
            rooms = data;
        }
        void setspace(int data)
        {
            space=data;
        }
        string getadress()
        {
            return adress;
        }
        int getfloor()
        {
            return floor;
        }
        int getrooms()
        {
            return rooms;
        }
        int getspace()
        {
            return space;
        }
        void print();
};
 
void flat::print()
{
    cout << this->adress << ", " << this->floor << ", " << this->rooms << ", " << this->space << endl;
}
 
int main()
{
    flat* flat_1 = new flat("Kyiv, Metallistov 4", 3, 1, 18);
    cout << "Before: ";
    flat_1->print();
    flat_1->setadress("Kyiv, Peremohy av., 45");
    flat_1->setrooms(3);
    flat_1->setspace(100);
    cout << "After: ";
    flat_1->print();
    delete flat_1;
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
14.11.2013, 03:20  [ТС]     Примитивная лаба по классам. Уже написана. Не компилится #2
Ошибка
Миниатюры
Примитивная лаба по классам. Уже написана. Не компилится  
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
14.11.2013, 03:26     Примитивная лаба по классам. Уже написана. Не компилится #3
У вас вместо списка параметров в конструктор передается только одна строка
Попробуйте так
C++
1
citizen* citizen_1 = new citizen("Todor", "Ilya", "Andreevich", "Kiev", "Male", "Average finished", 1995);
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
14.11.2013, 03:27     Примитивная лаба по классам. Уже написана. Не компилится #4
все, что в "" воспринимается как одна строка, запятые тут не выступают разделителями, а лишь являются её частью.
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
14.11.2013, 05:11  [ТС]     Примитивная лаба по классам. Уже написана. Не компилится #5
MrGluck, понял, спасибо. Буду пробовать исправлять!)

Добавлено через 1 минуту
Cra3y, спасибо, пробую!) Обязательно отпишусь!)))

Добавлено через 1 час 34 минуты
Cra3y, работает, все отлично. Спасибо за помощь!))

Добавлено через 29 секунд
MrGluck, спасибо большое за пояснение!)) +1 спасибо))
Yandex
Объявления
14.11.2013, 05:11     Примитивная лаба по классам. Уже написана. Не компилится
Ответ Создать тему
Опции темы

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