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

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

Войти
Регистрация
Восстановить пароль
 
Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
#1

компенсатор ругается когда пытаюсь внедрить defualt and normal inline - C++

16.05.2012, 13:52. Просмотров 294. Ответов 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
//pointer.h
#ifndef POINTER_H
#define POINTER_H
 
class Point
 
{
    private:
      double Xcoord;
      double Ycoord;
 
   public:
      Point();
      Point(const Point &OtherPoint);
      ~Point();
      void Print()const;
      void SetXCoordinate(const double Value)  { Xcoord = Value;} ;
      void SetYCoordinate(const double Value)  { Ycoord = Value;} ;
      double GetXCoordinate() const;    
      double GetYCoordinate() const;        
      void CalculateDistance(const Point OtherPoint) const;
};  
 
inline double Point::GetXCoordinate() const {return Xcoord;}
inline double Point::GetYCoordinate() const {return Ycoord;}
 
 
#endif
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
//pointer.cpp
#include <iostream>
 
#include <math.h>
 
#include "pointer.h"
 
using namespace std;
 
 
 
Point::Point()
{
}
 
//Construct other points for calculating the points
 
Point::Point(const Point &OtherPoint)
 
{
   Xcoord = OtherPoint.Xcoord;
   Ycoord = OtherPoint.Ycoord;
}
 
 
 
//Destructor
 
Point::~Point()
{
}
 
//Assign X-coordinate the Value that is put into the main
 
void Point::SetXCoordinate(const double Value)
{
    Xcoord = Value;
}
 
//Assing Y-coordinate the Value that is put into the main
 
void Point::SetYCoordinate(const double Value)
 
{
    Ycoord = Value;
}
 
//Return X-coordinate
 
double Point::GetXCoordinate() const
 
{
return Xcoord;
}
 
//Return Y-coordinate
 
double Point::GetYCoordinate() const
 
{
return Ycoord;
}
 
//Calculates distance between two points and outputs
 
void Point::CalculateDistance(const Point OtherPoint) const
 
{
double First = Xcoord;
double Second = OtherPoint.Xcoord;
double Third = Ycoord;
double Fourth = OtherPoint.Ycoord;
double Distance = sqrt((Second - First)*(Second-First) + (Fourth - Third)*(Fourth-Third));
cout << "The distance is: " << Distance << endl;
}
 
 
//Prints the points
 
void Point::Print() const
{
 cout << "Point is: (" << Xcoord << ", " << Ycoord << ")" << endl;
}
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
//main.cpp
#include <iostream>
#include <math.h>
#include "pointer.h"
#include "Circle.h"
 
#define _USE_MATH_DEFINES 
#include <cmath> 
#include <sstream>        // for stringstream
#include <string> 
 
using namespace std;
 
int main()
 
{
// Define two things within Point class
 
Point p1;
Circle MyCircle;
 
 
 
   //randomize four points
 
   srand(33);
   int x1 = rand()%92;
   int y1 = rand()%13;
   double r = rand()%43;
 
 
 
   //Set these points into different x and y values
 
   p1.SetXCoordinate(x1);
   p1.SetYCoordinate(y1);
 
 
 
   MyCircle.SetCentral(p1);
   MyCircle.SetRadius(r);
   MyCircle.ToString();
 
   cout << endl;
   system ("pause");
 
}
Сто процентов ошибка из за inline метода если убрать то все нормально будет работать. Да кстати не запостил код с другим классом как вы можете догадаться он в принципе не нужен. Просто проблема в синтаксене внедрения inline в h файле. Скажи плиз что не так ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2012, 13:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос компенсатор ругается когда пытаюсь внедрить defualt and normal inline (C++):

Inline функции - на сколько должна быть маленькая функция, чтоб она подошла под inline? - C++
Здравствуйте. Знаю теорию, но не понимаю, на сколько должна быть маленькая функция, чтоб она подошла под inline ? Как...

Пытаюсь внедрить свойство DrawingStyle в класс TListView - C++ Builder
Здравствуйте!!! Ребята, подскажите, по такому вопросу пытаюсь внедрить Пытаюсь внедрить свойство DrawingStyle в класс TListView. Но...

Пытаюсь вставить из буфера - ругается - VBA
есть макрос, он копирует выборочные данные из таблицы аксесс в буфер, потом пытаюсь вставить эти данные в лист эксель, он вставляет, но...

Почему ругается gcc при использовании inline + setjmp() ? - C (Си)
Добрый день. Решил написать простой карусельный переключатель задач для микроконтроллера. Для переключения контекста задач хочу...

Я хочу чтобы когда человек вводил вместо переменной c good bad normal он писал свои команды - Pascal
program intelect1; var c:string; a,b,d,e,f,g,h,y,t,r,w,q,z:integer; arr:array of integer; begin writeln('what is your...

Когда пытаюсь включить не загружается биос - Материнские платы
Собрал компьютер, когда пытаюсь включить не загружается биос, в этой сборке есть несовместимости? Процессор intel core i3-6100 3.7GHz...

6
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.05.2012, 15:21 #2
Leeto, А ничего, что у вас в h файле есть реализация методов Get*Coordinate и в cpp?
1
Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
16.05.2012, 16:02  [ТС] #3
Цитата Сообщение от ForEveR Посмотреть сообщение
Leeto, А ничего, что у вас в h файле есть реализация методов Get*Coordinate и в cpp?
Координаты точки для в классе реализованы приватно. Я сначало пользуюсь функцией геткоординат чтобы установить необходимое значение потом, пользуюсь сеткоординат, чтобы получить доступ к этим данным.
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.05.2012, 16:04 #4
.h файл

C++
1
2
inline double Point::GetXCoordinate() const {return Xcoord;}
inline double Point::GetYCoordinate() const {return Ycoord;}
.cpp файл

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Return X-coordinate
 
double Point::GetXCoordinate() const
 
{
return Xcoord;
}
 
//Return Y-coordinate
 
double Point::GetYCoordinate() const
 
{
return Ycoord;
}
Уж решите, где будете реализовывать-то
1
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
16.05.2012, 16:07 #5
Вам про другое говорят: у вас setters&getters реализованы и в .h, и в .cpp.
1
Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
16.05.2012, 16:34  [ТС] #6
Цитата Сообщение от gray_fox Посмотреть сообщение
Вам про другое говорят: у вас setters&getters реализованы и в .h, и в .cpp.
А т.е. смысл в том, что если я хочу эту функции inline то мне надо их только в h реализовывать, а в cpp надо их убрать. Я правильно понимаю ? По крайнем мере я сейчас закоментил эти функции в cpp и у меня все заработало.

Добавлено через 3 минуты
ForEveR , Carmageddon супер игрушка была !
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
16.05.2012, 16:46 #7
Цитата Сообщение от Leeto Посмотреть сообщение
А т.е. смысл в том, что если я хочу эту функции inline то мне надо их только в h реализовывать, а в cpp надо их убрать. Я правильно понимаю ?
Просто реализуйте в одном месте, или в h., или в cpp., inline можно приписать и в cpp. Вообще inline - это только рекомендация, в конечном счёте компилятор всё равно сам решит, что встраивать, а что - нет.
1
16.05.2012, 16:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2012, 16:46
Привет! Вот еще темы с ответами:

Ошибка, когда пытаюсь создать диаграмму базы данных - SQL Server
Проблема появляется , когда пытаюсь создать диаграмму базы данных , искала в гугле , но ничего вразумительного или полезного не нашла....

Добавил dll библиотеку, а когда пытаюсь прописать директиву, то он не видит её - C#
Всем привет! Почему так? добавил dll библиотеку (самая простая один короткий класс и один метод) а когда пытаюсь прописать директиву, то он...

Ошибка #1064 когда пытаюсь отослать запрос на вывод таблиц - PHP БД
вот код. ошибка #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right...

Зависает проводник, когда пытаюсь открыть файлы на старом диске - Жесткие диски
В системе стоит 2 hdd, 1 новый(WD1tb) и 1 старый(Hitachi256gb). Когда пытаюсь открыть любую папку или раздел старого диска, идет очень...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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