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

Класс *Станция* - C++

Восстановить пароль Регистрация
 
chernyatinskiy
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 36
16.09.2013, 18:41     Класс *Станция* #1
Вообщем в инете куча информации о классах но то что мне нужно сделать я так и не смог слепить в кучу, выручайте.
Класс *Станция*, координаты, название.
Учитывать скрытые данные
Указать
1) конструкторы (в том числе за умолчанием и копии)
2) деструкторы
3) функции модификаторы
4) функции селекторы
5) функции члены определить за пределами класса



Вот что нашел и переделал, но выдает, как я полагаю, не то что нужно, и я понятия не имею что нужно переделать.
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
#include <iostream>
#include <cstring>
#include <algorithm>
 
class Stancia
{
public:
    Stancia(char const* const coopdinatu_ = "")
    {
        coopdinatu = new char[strlen(coopdinatu_) + 1];
        strcpy(coopdinatu, coopdinatu_);
    }
    Stancia(Stancia const& s)
    {
        coopdinatu = new char[strlen(s.coopdinatu) + 1];
        strcpy(coopdinatu, s.coopdinatu);
    }
    Stancia& operator=(Stancia s)
    {
        Swap(*this, s);
        return *this;
    }
    virtual ~Stancia()
    {
        delete[] coopdinatu;
        coopdinatu = 0;
    }
    friend std::ostream& operator<<(std::ostream& ost, Stancia const& s)
    {
        return ost << s.coopdinatu;
    }
protected:
    char* coopdinatu;
    void Swap(Stancia& lhs, Stancia& rhs)
    {
        std::swap(lhs.coopdinatu, rhs.coopdinatu);
    }
};
 
class DString : public Stancia
{
public:
    explicit DString(char const* const coopdinatu_ = "", char const* const p1_ = "") : Stancia(coopdinatu_)
    {
        p1 = new char[strlen(p1_) + 1];
        strcpy(p1, p1_);
    }
    DString(DString const& ds) : Stancia(ds)
    {
        p1 = new char[strlen(ds.p1) + 1];
        strcpy(p1, ds.p1);
    }
    DString& operator=(DString ds)
    {
        Swap(*this, ds);
        return *this;
    }
    ~DString()
    {
        delete[] p1;
        p1 = 0;
    }
    friend std::ostream& operator<<(std::ostream& ost, DString const& s)
    {
        return ost << s.coopdinatu << '\n' << s.p1;
    }
protected:
    char* p1;
    void Swap(DString& lhs, DString& rhs)
    {
        Stancia::Swap(lhs, rhs);
        std::swap(lhs.p1, rhs.p1);
    }
};
 
int main()
{
    DString ds("aa", "bb");
    Stancia s = ds;
    std::cout << s << std::endl;
    getchar();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eXtream
24 / 24 / 0
Регистрация: 10.03.2010
Сообщений: 161
16.09.2013, 18:53     Класс *Станция* #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
class CStation{
    char *_name;
    struct COORD{
        int x;
        int y;
    } _coord;
public:
    CStation();
    ~CStation();
    void set_name(char *);
    char *get_name();
    void set_coord(int, int);
    void get_coord(COORD &);
};
CStation::CStation(){
    _name = "";
    _coord.x = 0;
    _coord.y = 0;
}
 
CStation::~CStation(){
    _name = "";
    _coord.x = 0;
    _coord.y = 0;
}
 
void CStation::set_name(char *name){
    _name = name;
}
char *CStation::get_name(){return _name;}
 
void CStation::set_coord(int x, int y){
    _coord.x = x;
    _coord.y = y;
}
 
void CStation::get_coord(COORD &coord){
    coord.x = _coord.x;
    coord.y = _coord.y;
}
chernyatinskiy
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 36
16.09.2013, 20:22  [ТС]     Класс *Станция* #3
Спасибо, а библиотеки теже или еще чет нужно? Т.к выбивает вот такую ошибку :: MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
1>C:\Users\Игорь\Documents\Visual Studio 2010\Projects\vu4mat1\Debug\vu4mat1.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>
1>СБОЙ построения.
eXtream
24 / 24 / 0
Регистрация: 10.03.2010
Сообщений: 161
17.09.2013, 14:23     Класс *Станция* #4
создайте пустой консольный проект с предварительно скомпелированным заголовком и всавьте туда выше указанный класс
Yandex
Объявления
17.09.2013, 14:23     Класс *Станция*
Ответ Создать тему
Опции темы

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