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

классы - C++

Восстановить пароль Регистрация
 
555shiro
 Аватар для 555shiro
8 / 8 / 1
Регистрация: 01.12.2009
Сообщений: 226
14.04.2010, 19:22     классы #1
здравствуйте!
подскажите пожалуйста где можно найти и изучить самую простенькую программу на "Классы" в качестве примера ?
вообщем чем больше тем лучше!
поискал в инете ничего путного не нашёл =(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2010, 19:22     классы
Посмотрите здесь:

C++ Классы
Классы C++
Классы C++
C++ классы с++
Классы в С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
delfamur
 Аватар для delfamur
42 / 42 / 0
Регистрация: 16.03.2010
Сообщений: 199
14.04.2010, 19:26     классы #2
в книге))Подбельский - самое простое
yanyk1n
 Аватар для yanyk1n
4324 / 1455 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
14.04.2010, 19:27     классы #3
Мои нарабобтки:
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
#include <iostream>
#include <cmath>
using namespace std;
 
class Vector
{
    private:
        double x,y;
    public:
        Vector();
        ~Vector() {};
        Vector(double _x, double _y);
        void print() const; //вывод вектора
        void reset(); //устанавливает координаты вектора на (0,0);
        Vector operator+(const Vector &v) const; //суммирует два вектора
        Vector operator-(const Vector &v) const; //разность двух векторов
        Vector operator*(const Vector &v) const; //произведение двух векторов
        Vector operator*(const double n) const; //произведение вектора на N
        friend Vector operator*(double n, const Vector &v) {return v * n;};
        double dist(); //длина вектора
        friend ostream& operator<<(ostream &os, const Vector &v);
        friend istream& operator>>(istream &is, Vector &v);
};
 
int main()
{
    Vector A(2,3);
    Vector B(3,5);
    Vector C;
    C = A + B;
    cout << A << " + " << B << " = " << C << endl;
    C = A - B;
    cout << A << " - " << B << " = " << C << endl;
    C = A * B;
    cout << A << " * " << B << " = " << C << endl;
    C = A * 5;
    cout << A << " * 5 = " << C << endl;
    C = 6 * B;
    cout << "6 * " << B << " = " << C << endl;
    cout << "Вектор A -> ";
    cin >> A;
    cout << "Вектор B -> ";
    cin >> B;
    C = A + B;
    cout << A << " + " << B << " = " << C << endl;
    C = A - B;
    cout << A << " - " << B << " = " << C << endl;
    C = A * B;
    cout << A << " * " << B << " = " << C << endl;
    C = A * 5;
    cout << A << " * 5 = " << C << endl;
    C = 6 * B;
    cout << "6 * " << B << " = " << C << endl;
    return 0;
}
 
Vector::Vector()
{
    x = 0;
    y = 0;
}
 
Vector::Vector(double _x, double _y)
{
    x = _x;
    y = _y;
}
 
void Vector::reset()
{
    x = 0;
    y = 0;
}
 
void Vector::print() const
{
    cout << "(" << x << "; " << y << ")" << endl;
}
 
Vector Vector::operator+(const Vector &v) const
{
    Vector k;
    k.x = x + v.x;
    k.y = y + v.y;
    return k;
}
 
Vector Vector::operator-(const Vector &v) const
{
    Vector k;
    k.x = x - v.x;
    k.y = y - v.y;
    return k;
}
 
Vector Vector::operator*(const Vector &v) const
{
    Vector k;
    k.x = x * v.x;
    k.y = y * v.y;
    return k;
}
 
Vector Vector::operator*(const double n) const
{
    Vector k;
    k.x = x * n;
    k.y = y * n;
    return k;
}
 
double Vector::dist()
{
    return sqrt(x * x + y * y);
}
 
ostream& operator<<(ostream &os, const Vector &v)
{
    os << "(" << v.x << "; " << v.y << ")";
    return os;
}
dimonser
 Аватар для dimonser
3 / 2 / 1
Регистрация: 31.03.2010
Сообщений: 16
15.04.2010, 00:30     классы #4
Цитата Сообщение от k1ry4 Посмотреть сообщение
Мои нарабобтки:
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
#include <iostream>
#include <cmath>
using namespace std;
 
class Vector
{
    private:
        double x,y;
    public:
        Vector();
        ~Vector() {};
        Vector(double _x, double _y);
        void print() const; //вывод вектора
        void reset(); //устанавливает координаты вектора на (0,0);
        Vector operator+(const Vector &v) const; //суммирует два вектора
        Vector operator-(const Vector &v) const; //разность двух векторов
        Vector operator*(const Vector &v) const; //произведение двух векторов
        Vector operator*(const double n) const; //произведение вектора на N
        friend Vector operator*(double n, const Vector &v) {return v * n;};
        double dist(); //длина вектора
        friend ostream& operator<<(ostream &os, const Vector &v);
        friend istream& operator>>(istream &is, Vector &v);
};
 
int main()
{
    Vector A(2,3);
    Vector B(3,5);
    Vector C;
    C = A + B;
    cout << A << " + " << B << " = " << C << endl;
    C = A - B;
    cout << A << " - " << B << " = " << C << endl;
    C = A * B;
    cout << A << " * " << B << " = " << C << endl;
    C = A * 5;
    cout << A << " * 5 = " << C << endl;
    C = 6 * B;
    cout << "6 * " << B << " = " << C << endl;
    cout << "Вектор A -> ";
    cin >> A;
    cout << "Вектор B -> ";
    cin >> B;
    C = A + B;
    cout << A << " + " << B << " = " << C << endl;
    C = A - B;
    cout << A << " - " << B << " = " << C << endl;
    C = A * B;
    cout << A << " * " << B << " = " << C << endl;
    C = A * 5;
    cout << A << " * 5 = " << C << endl;
    C = 6 * B;
    cout << "6 * " << B << " = " << C << endl;
    return 0;
}
 
Vector::Vector()
{
    x = 0;
    y = 0;
}
 
Vector::Vector(double _x, double _y)
{
    x = _x;
    y = _y;
}
 
void Vector::reset()
{
    x = 0;
    y = 0;
}
 
void Vector::print() const
{
    cout << "(" << x << "; " << y << ")" << endl;
}
 
Vector Vector::operator+(const Vector &v) const
{
    Vector k;
    k.x = x + v.x;
    k.y = y + v.y;
    return k;
}
 
Vector Vector::operator-(const Vector &v) const
{
    Vector k;
    k.x = x - v.x;
    k.y = y - v.y;
    return k;
}
 
Vector Vector::operator*(const Vector &v) const
{
    Vector k;
    k.x = x * v.x;
    k.y = y * v.y;
    return k;
}
 
Vector Vector::operator*(const double n) const
{
    Vector k;
    k.x = x * n;
    k.y = y * n;
    return k;
}
 
double Vector::dist()
{
    return sqrt(x * x + y * y);
}
 
ostream& operator<<(ostream &os, const Vector &v)
{
    os << "(" << v.x << "; " << v.y << ")";
    return os;
}
Помоему не самый простой пример для человека который хочет ознакомится с ООП, так как в примере присутствуют и константные функции члены да и перегрузка опереаторов, да ещё без комментариев попробуй разберись где надо ставить const а где нет. Более простые примеры с классами можете посмотреть на сайте http://easylab.net.ua в разделе ООП. А вобще начните ни с примеров, а например с книги Лафоре про ООП, там все нормально изложено!
Yandex
Объявления
15.04.2010, 00:30     классы
Ответ Создать тему
Опции темы

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