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

Один класс не видит другой. Преобразование класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Графы. Нужно составить алгоритм http://www.cyberforum.ru/cpp-beginners/thread959507.html
Помогите алгоритмизировать задачу! Нужно написать программу способную определить, можно ли в заданной системе односторонних дорог проехать из города А в город В таким образом, чтобы посетить город С и не проезжать никакой дороги более одного раза. Заранее спасибо =)
C++ Main не видит функции из заголовочного файла Здравствуйте. Помогите решить проблему пожалуйста: inly@inly-pc:~/base/Select$ make g++ -c serv_sel.cpp -lssl -lcrypto -ldl gcc -c ../Libs/initCTX.c -lssl -lcrypto -ldl gcc -c ../Libs/ftoa.c gcc -c ../Libs/count.c gcc -c ../Libs/loadSert.c -lssl -lcrypto -ldl g++ serv_sel.o ftoa.o count.o initCTX.o loadSert.o -lssl -lcrypto -ldl -o serv serv_sel.o: In function `main': http://www.cyberforum.ru/cpp-beginners/thread959494.html
C++ Линейные статические структуры данных
Помогите пожалуйста с задачей !!! Необходимо написать программу, использующую сведения о формате файла и выводящуюинформацию об обрабатываемом файле вида: для изображений: размер изображения, глубина цвета, количество страниц, плотность, размер палитры, тип сжатия и т.п. (формат файла jpg) До этого читал считывал информацию только из текстовых файлов, а с другими не работал, помогите...
Окончание связанного списка C++
Скажите, пожалуйста, как в моём случае можно поступить: выйти из цикла, если нажатием Enter ничего не вводится и выдавать ошибку, если значение одного изполей "доминушки" больше 6? /* Job_A.cpp: определяет точку входа для консольного приложения. 6. В игре "Домино" можно приставлять фишки друг к другу концами, имеющими одинаковое число точек. Составить список фишек игры "Домино" и проверить...
C++ error LNK2019: ссылка на неразрешенный внешний символ http://www.cyberforum.ru/cpp-beginners/thread959457.html
только-только начал изучать c++.написал программу. компиляция прошла успешно, а при отладке выдаёт ошибку 1>------ Построение начато: проект: prog, Конфигурация: Debug Win32 ------ 1> prog.cpp 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup 1>C:\Users\Иван\documents\visual studio 2010\Projects\program\Debug\prog.exe...
C++ Ошибка работы с сокетами Есть массив размером 120 тысяч из структур по 8 байт. И я пытаюсь передать его из клиента на сервер int sz=sizeof(points);//points статический,размер 960000 Point *data=points; while(sz){ int k=send(sock_desc,data,sz,0); if(k<0)perror("Error writing image"); sz-=k; data+=k; подробнее

Показать сообщение отдельно
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 434
22.09.2013, 08:54     Один класс не видит другой. Преобразование класса
Всем доброго времени суток. В общем вот есть такой код:
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
#include <cmath>
using namespace std;
 
class Decart;
class Polar
{
        private:
                double distance, angle;
    public:
        void ShowPolar() { cout <<"Полярная система.\nРасстояние: " <<distance <<"; Направление: " <<angle <<endl; };
        //Переопределения----------------------
        Polar operator+(Polar var)
        {
            Polar help;
            help.distance = distance + var.distance;
            help.angle = angle + var.angle;
            return help;
        };
        Polar operator-(Polar var)
        {
            Polar help;
            help.distance = distance - var.distance;
            help.angle = angle - var.angle;
            return help;
        };
        operator Decart()
        {
            Decart help;
            help.x = distance * cos(angle);
            help.y = distance * sin(angle);
            return help;
        }
        //Конструкторы-------------------------
        Polar (int dstc, int angl):distance(dstc),angle(angl) {};
        Polar ():distance(0),angle(0) {};
};
class Decart
{
        private:
                double x,y;
    public:     
        //Методы-------------------------------
        void ShowDecart() { cout <<"Декартовая система.\nКоординаты: x = " <<x <<"; y = " <<y <<endl; };
        Decart operator+(Decart var)
        {
            Decart help;
            help.x = x + var.x;
            help.y = y + var.y;
            return help;
        };
        Decart operator-(Decart var)
        {
            Decart help;
            help.x = x - var.x;
            help.y = y - var.y;
            return help;
        };
        double operator*(Decart var1)//скалярное произведение
        {
            return var1.x * x + var1.y * y;
        }
        operator Polar()
        {
            Polar help;
            help.distance = sqrt(x*x + y*y);
            help.angle = atan2(y,x);
            return help;
        }
        //Конструкторы-------------------------
        Decart (double pX, double pY):x(pX),y(pY) {};
        Decart ():x(0),y(0) {};
};
Проблема вот в этой строчке:
C++
1
2
3
        operator Decart()
        {
            Decart help;
Т.е. при приобразовании типа Polar к Decart. Копилятор ругается на то, что Decart не полон и не определён. Я так понимаю, эта ошибка из-за того, что класс Decart у меня описан ниже чем Polar? если да, то подскажите пожалуйста, как решить эту проблему? чтобы оба класса видели друг друга.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru