Написал программу которая считает угол и длину прямой. Писал в 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
|