Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
7 / 7 / 3
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
1

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

16.05.2012, 13:52. Показов 667. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2012, 13:52
Ответы с готовыми решениями:

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

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

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

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

6
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.05.2012, 15:21 2
Leeto, А ничего, что у вас в h файле есть реализация методов Get*Coordinate и в cpp?
1
7 / 7 / 3
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
16.05.2012, 16:02  [ТС] 3
Цитата Сообщение от ForEveR Посмотреть сообщение
Leeto, А ничего, что у вас в h файле есть реализация методов Get*Coordinate и в cpp?
Координаты точки для в классе реализованы приватно. Я сначало пользуюсь функцией геткоординат чтобы установить необходимое значение потом, пользуюсь сеткоординат, чтобы получить доступ к этим данным.
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
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
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
16.05.2012, 16:07 5
Вам про другое говорят: у вас setters&getters реализованы и в .h, и в .cpp.
1
7 / 7 / 3
Регистрация: 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
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
16.05.2012, 16:46 7
Цитата Сообщение от Leeto Посмотреть сообщение
А т.е. смысл в том, что если я хочу эту функции inline то мне надо их только в h реализовывать, а в cpp надо их убрать. Я правильно понимаю ?
Просто реализуйте в одном месте, или в h., или в cpp., inline можно приписать и в cpp. Вообще inline - это только рекомендация, в конечном счёте компилятор всё равно сам решит, что встраивать, а что - нет.
1
16.05.2012, 16:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2012, 16:46
Помогаю со студенческими работами здесь

Когда пытаюсь включить не загружается биос
Собрал компьютер, когда пытаюсь включить не загружается биос, в этой сборке есть несовместимости? ...

Invalid object name когда пытаюсь сослаться на алиас подзапроса
Убедительная просьба не писать решение, а подсказать где у меня недопонимание. Перечислите...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru