Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Угол и длина прямой - Наследование[C++] 
:(
    Опции темы
ArniLand
Дата 4.4.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 17.8.2008

Репутация: нет
Всего: нет



Написал программу которая считает угол и длину прямой. Писал в VS 2008 Professional. При компиляции выдает странные ошибки, пока не могу понять что я не так написал. Помогите исправить.
Ошибки
Цитата

d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\line.h(14) : error C2504: 'Line' : base class undefined
c:\program files\microsoft visual studio 9.0\vc\include\math.h(29) : error C2059: syntax error : 'string'
c:\program files\microsoft visual studio 9.0\vc\include\math.h(29) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
c:\program files\microsoft visual studio 9.0\vc\include\math.h(470) : error C2059: syntax error : 'string'
c:\program files\microsoft visual studio 9.0\vc\include\math.h(470) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(6) : error C2059: syntax error : 'namespace'
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(6) : error C2238: unexpected token(s) preceding ';'
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(9) : error C2535: 'Line::Line(double,double,double,double)' : member function already defined or declared
        d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\line.h(9) : see declaration of 'Line::Line'
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(17) : error C2535: 'double Line::Dlina(void)' : member function already defined or declared
        d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\line.h(11) : see declaration of 'Line::Dlina'
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(22) : error C3254: 'Line' : class contains explicit override 'Angle' but does not derive from an interface that contains the function declaration
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(22) : error C2838: 'Angle' : illegal qualified name in member declaration
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(27) : error C3254: 'Line' : class contains explicit override 'vuvod' but does not derive from an interface that contains the function declaration
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(27) : error C2838: 'vuvod' : illegal qualified name in member declaration
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii.cpp(38) : fatal error C1075: end of file found before the left brace '{' at 'd:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\line.h(2)' was matched
main.cpp
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\line.h(14) : error C2504: 'Line' : base class undefined
c:\program files\microsoft visual studio 9.0\vc\include\math.h(29) : error C2059: syntax error : 'string'
c:\program files\microsoft visual studio 9.0\vc\include\math.h(29) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
c:\program files\microsoft visual studio 9.0\vc\include\math.h(470) : error C2059: syntax error : 'string'
c:\program files\microsoft visual studio 9.0\vc\include\math.h(470) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\main.cpp(6) : error C2059: syntax error : 'namespace'
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\main.cpp(6) : error C2238: unexpected token(s) preceding ';'
d:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\main.cpp(16) : fatal error C1075: end of file found before the left brace '{' at 'd:\мои документы\visual studio 2008\projects\nasledovanie_variant_1 - linii\nasledovanie_variant_1 - linii\line.h(2)' was matched


Код программы:
Код

//Line.h
class Line
{
protected:
    double x1;
    double y1;
    double x2;
    double y2;
public:
    Line(double dx1, double dy1, double dx2, double dy2);
    ~Line();
    double Dlina();

class Straight : public Line
{
public:
    Straight(double dx1, double dy1, double dx2, double dy2) : Line(dx1, dy1, dx1, dy2) {};
    ~Straight();
    double Angle();
    void vuvod();
};

//.cpp
#include "stdafx.h"
#include <iostream>
#include "Line.h"
#include <math.h>
#include <string.h>
using namespace std;

Line::Line(double dx1, double dy1, double dx2, double dy2)
{
    x1 = dx1;
    x2 = dx2;
    y1 = dy1;
    y2 = dy2;
}

double Line::Dlina()
{
    return sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));
}

double Straight::Angle()
{
    return acos((x2-x1)/Line::Dlina());
}

void Straight::vuvod()
{
    cout <<"x1 =" <<x1<<"/r/n";
    cout <<"x2 =" <<x2<<"/r/n";
    cout <<"y1 =" <<y1<<"/r/n";
    cout <<"y2 =" <<y2<<"/r/n";
}

//main.cpp
#include "stdafx.h"
#include <iostream>
#include "Line.h"
#include <math.h>
#include <string.h>
using namespace std;

int main()
{
    Straight *Otrezok = new Straight(2.0, 2.0, 4,0, 4.0);
    cout <<"Koordinatu linii =" <<Otrezok->vuvod();
    cout <<"Dlina ="<<Otrezok->Dlina();
    cout <<"Ygol ="<<Otrezok->Angle();
    return 0;
}







Это сообщение отредактировал(а) ArniLand - 4.4.2010, 13:14
PM MAIL   Вверх
mes
Дата 4.4.2010, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



поможет поиск : стражи включения


--------------------
PM MAIL WWW   Вверх
bsa
Дата 6.4.2010, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



ArniLand, почитай тут про "защиту от повторного включения".

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.