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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257
#1

Классы - C++

10.09.2011, 13:03. Просмотров 330. Ответов 6
Метки нет (Все метки)

Написал программу расстояние между двумя точками с использованием классов. Во втором хочу использовать элемент первого. Не работает. Как это сделать?
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
#include <iostream>
#include <cmath>
using namespace std;
 
class point // класс описывающий точку и вектор
{
 public:
  double x,y;
};
 
class vector
{
 public:
  point vec_coord(point a, point b)
   {
    point c;
    с.x=b.x-a.x;
    с.y=b.y-a.y;
    return c;
   }
  double distantion(point a, point b)
   {
    point c=vec_coord(a,b);
    return sqrt(c.x*c.x+c.y*c.y);
   }
};
 
int main()
{
 point a,b;
 vector res;
 cin >> a.x >> a.y >> b.x >> b.y;
 cout << res.distantion(a,b);
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2011, 13:03     Классы
Посмотрите здесь:

Классы - C++
Здравствуйте, изучаю классы есть задание. Кое как сделал для имени и фамилии, а для зарплаты не получается. Прошу помогите и...

Классы в С++ - C++
Подскажите пожалуйста, как решить данную задачу %-) В рамках консольного приложения создать класс А с полями а и b и свойством с....

КЛАССЫ - C++
Очень нужна помощь!!! подскажите где ошибки: #include &lt;iostream&gt; #include &lt;windows.h&gt; char* Rus(const char* text); using...

Классы - C++
Исправьте ошибки и выведите данные в табличном виде. //1TSTRUC.CPP //Данная программа использует структуру с одним //элементом...

классы C++ - C++
Помогите пожалуйста!!! Срочно нужна помощь I . Проект должен содержать один файл с расширением *.сср II.Классы не должны содержать...

Классы - C++
Доброго времени суток! Реализую систему окон и контролов. Вот пример: class Control { public: void draw(); void...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nadinka______
1 / 1 / 0
Регистрация: 12.08.2011
Сообщений: 29
10.09.2011, 13:25     Классы #2
http://www.cyberguru.ru/programming/...ib-page12.html

Посмотри здесь
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257
10.09.2011, 13:28  [ТС]     Классы #3
А можно нагляднее этот код поменять, там боюсь ничего не пойму...
Nadinka______
1 / 1 / 0
Регистрация: 12.08.2011
Сообщений: 29
10.09.2011, 13:48     Классы #4
set.h

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
#include <set>          
#include <iostream>   
#include <windows.h>    
 
using namespace std;    
 
 
 
class stl_point
{
public:
    double x, y;    
    stl_point(double tx=0, double ty=0)
    {
        x = tx;
        y = ty;
    }
};
 
 
 
bool operator<(stl_point first, stl_point second)
{
    return first.x < second.x;
}
set.cpp

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
#include "set_test.h" 
 
set <stl_point> set_exact; 
 
int main(void)
{
    int x, y;
 
    while(1)
    {
        
 
        cout << "Abscissa: ";
        cin >> x;
        cout << "Ordinate: ";
        cin >> y;
 
        
 
 
        if(!set_exact.insert(stl_point(x, y)).second)
            cout << "not inserted" << endl << endl;
        else
            cout << "success" << endl << endl;
    }
    return 0;
}
Добавлено через 29 секунд
set.h

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
#include <set>          
#include <iostream>   
#include <windows.h>    
 
using namespace std;    
 
 
 
class stl_point
{
public:
    double x, y;    
    stl_point(double tx=0, double ty=0)
    {
        x = tx;
        y = ty;
    }
};
 
 
 
bool operator<(stl_point first, stl_point second)
{
    return first.x < second.x;
}
set.cpp

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
#include "set.h" 
 
set <stl_point> set_exact; 
 
int main(void)
{
    int x, y;
 
    while(1)
    {
        
 
        cout << "Abscissa: ";
        cin >> x;
        cout << "Ordinate: ";
        cin >> y;
 
        
 
 
        if(!set_exact.insert(stl_point(x, y)).second)
            cout << "not inserted" << endl << endl;
        else
            cout << "success" << endl << endl;
    }
    return 0;
}
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 13:56     Классы #5
На acmp задачу на расстояние решал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <fstream>
#include <math.h>
int main()
{
    double x1,y1,x2,y2,d;
    std:: ifstream ifs ("input.txt");
    ifs >> x1 >> y1 >> x2 >> y2;
    ifs.close();
    d=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));
    std:: ofstream ofs ("output.txt");
    ofs << std::fixed << d;
    ofs.close();
    return 0;
}
TheAthlete
152 / 152 / 13
Регистрация: 31.08.2010
Сообщений: 535
10.09.2011, 13:58     Классы #6
Все вроде работает, только ошибка была, там в 17 и 18 строках символ 'c' был в русской расладке набран, подправленный вариант программы вот:

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
#include <iostream>
#include <cmath>
 
using std::cout;
using std::cin;
 
// структура описывающая точку
struct point {
  double x, y;
};
 
// класс описывающий вектор
class vector {
  public:
    point vec_coord(point a, point b) {
      c.x = b.x - a.x;
      c.y = b.y - a.y;
      return c;
    }
    double distantion(point a, point b) {
      c = vec_coord(a, b);
      return sqrt(c.x * c.x + c.y * c.y);
    }
  private:
    point c;
};
 
int main()
{
  point a, b;
  vector res;
  cin >> a.x >> a.y >> b.x >> b.y;
  cout << res.distantion(a, b);
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2011, 13:59     Классы
Еще ссылки по теме:

Классы - C++
Объясните новичку , зачем нужны классы. Вкратце , я знаю что тема расширная , но хотя бы объяснить для чего нужны они?

С++ классы - C++
Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требует реализовать операции: получения...

Классы C++ - C++
Привет, есть непонятка по классам, например: #include &lt;myclass&gt; int main() { myclass s; s.func1(1); s.func2(2); ...

Классы в С++ - C++
Всем доброго времени суток. По ООП дали такое задание: Разработать представление целого положительного числа, представленного в виде...


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

Или воспользуйтесь поиском по форуму:
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257
10.09.2011, 13:59  [ТС]     Классы #7
всем спасибо, оказывается всё у меня правильно, я просто транслит поменял вместо с написал с на русском, вот он и говорил что такого элемента не найдено...
Yandex
Объявления
10.09.2011, 13:59     Классы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru