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

Создать класс адрес - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ автозагрузка http://www.cyberforum.ru/cpp-beginners/thread254577.html
Здравствуйте господа програмисты!написал программу на с++ которая позволяет выключать и перезагружать компьютер по желанию пользователя хотелось бы узнать как сделать программу на dev c++,под dos, которая будет вписывать мою программу в реестр в автозагрузку.если можно элементарный пример программы.заранее всем огромное спасибо!!!
C++ Нужно сделать чтоб функция "int" выводила массив значений.достиг вывода 1-го элемента Нужно сделать чтоб функция "int" выводила массив значений.достиг вывода 1-го элемента Текст, набранный заглавными буквами в сетевом лексиконе считается криком. http://www.cyberforum.ru/cpp-beginners/thread254571.html
C++ С чего начать?
Всем здравствуйте, я извиняюсь за такую глупую тему, но я не знаю куда обратиться. Читал я, что С++ в десятки раз лучше Delphi, и что бы подхватить момент я решил изучать также и C++. Так, вот несколько вопросов: 1. На чём пишется С++? 2. Действительно, ли С++ лучше Delphi и в чём? 3. Можно ли спокойно переходить с Delphi на С++?
C++ Проверка при чтении из файла
Добрый вечер! В своей программе на одном из этапов я построчно считываю целые числа из файла *.txt. Мне нужно чтобы в файле были только целые числа, а в случае "крякозабр" (типа "-1-1", "gdh" , "234Dcm23" и т.д.) и переполнения int, программа выдавала соответствующее сообщение. Листинг: #include <iostream> #include <tchar.h> #include <stdio.h> #include <io.h>
C++ Программа работает только на моем компьютере http://www.cyberforum.ru/cpp-beginners/thread254552.html
Всем привет! Хочу извиниться за незнание простых вещей. Только вчера скачал Вижуал и успел прочитать пару статеик по С++. Проблема состоит в том что после компиляции программы, экзешник запускается только на моем компьютере, при переносе на другой или передаче друзьям, при запуске появляется ошибка. В чем проблема? Подскажите пожалуйста.
C++ Вывод функции у меня функция типа int должна выводить массив того же типа.Подскажите плиз как это сделать, а то максимум чо получилось это вывести первое значение. подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.03.2011, 01:50     Создать класс адрес
rangerx, Потому что писал наспех))
Если доводить до ума, то копир, присваивание, слежка за памятью конечно нужны.

Добавлено через 26 минут
Я думаю теперь можно сказать, что программа доведена до ума?)

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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
 
class Addr
{
public:
//Конструктор. Можно использовать и по умолчанию и с параметрами
        Addr()
        {
            Default_Init();
        }
        Addr(const char* country_, 
                const char* town_,
                const char* street_,
                const int h_n)
        {
//Выделяем память.
                country=new char[strlen(country_)+1];
//Копируем.
                strcpy(country, country_);
                town=new char[strlen(town_)+1];
                strcpy(town, town_);
                street=new char[strlen(street_)+1];
                strcpy(street, street_);
                h_number=h_n;
        }
        Addr(const Addr& other)
        {
                country=new char[strlen(other.country)+1];
                strcpy(country, other.country);
                town=new char[strlen(other.town)+1];
                strcpy(town, other.town);
                street=new char[strlen(other.street)+1];
                strcpy(street, other.street);
                h_number=other.h_number;
        }
//Деструктор. Очищаем память.
        ~Addr()
        {
                delete[] country;
                delete[] town;
                delete[] street;
        }
        Addr& operator =(const Addr& other)
        {
            if(this == &other)
                return *this;
            delete[] country;
            delete[] town;
            delete[] street;
            country=new char[strlen(other.country)+1];
            strcpy(country, other.country);
            town=new char[strlen(other.town)+1];
            strcpy(town, other.town);
            street=new char[strlen(other.street)+1];
            strcpy(street, other.street);
            h_number=other.h_number;
            return *this;
        }
//Раздел сеттеров (установка значений в поля, принцип тот же что и в конструкторе, 
//выделяем память (копируем), тут еще можно везде удаление впринципе вставить, но этим 
//займись сам.
        void SetCountry(const char* country_)
        {
                delete[] country;
                country=new char[strlen(country_)+1];
                strcpy(country, country_);
        }
        void SetTown(const char* town_)
        {
                delete[] town;
                town=new char[strlen(town_)+1];
                strcpy(town, town_);
        }
        void SetStreet(const char* street_)
        {
                delete[] street;
                street=new char[strlen(street_)+1];
                strcpy(street, street_);
        }
        void SetHNumber(const int h_n)
        {
                h_number=h_n;
        }
        void SetAddr(const char* country_, const char* town_, const char* street_, const int h_n)
        {
                SetCountry(country_);
                SetTown(town_);
                SetStreet(street_);
                SetHNumber(h_n);
        }
//Раздел геттеров. Для получения значения поля.
        const char* GetCountry() const
        {
                return country;
        }
        const char* GetTown() const
        {
                return town;
        }
        const char* GetStreet() const
        {
                return street;
        }
        const int GetHNumber() const
        {
                return h_number;
        }
private:
        char* country;
        char* town;
        char* street;
        int h_number;
 
        void Default_Init()
        {
                const char* def_country="Russia";
                const char* def_town="Moscow";
                const char* def_street="Arbat";
                const int def_h_number=40;
 
                country=new char[strlen(def_country)+1];
                strcpy(country, def_country);
                town=new char[strlen(def_town)+1];
                strcpy(town, def_town);
                street=new char[strlen(def_street)+1];
                strcpy(street, def_street);
                h_number=def_h_number;
        }
};
 
std::ostream& operator <<(std::ostream& os, const Addr& one)
{
    os<<one.GetCountry()<<'\n'<<
        one.GetTown()<<'\n'<<
        one.GetStreet()<<'\n'<<
        one.GetHNumber()<<'\n';
    return os;
}
 
std::istream& operator >>(std::istream& is, Addr& one)
{
    const int max_size=256;
    char str[max_size];
    is.getline(str, max_size);
    char* country=new char[strlen(str)+1];
    strcpy(country, str);
    is.getline(str, max_size);
    char* town=new char[strlen(str)+1];
    strcpy(town, str);
    is.getline(str, max_size);
    char* street=new char[strlen(str)+1];
    strcpy(street, str);
    int h_n=0;
    is>>h_n;
    is.get();
    one.SetAddr(country, town, street, h_n);
    return is;
}
 
int main()
{
    std::vector<Addr> advec((std::istream_iterator<Addr>(std::cin)), std::istream_iterator<Addr>());
    std::copy(advec.begin(), advec.end(), std::ostream_iterator<Addr>(std::cout, "\n"));
    return 0;
}
 
Текущее время: 19:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru