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

inline функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структура и функции http://www.cyberforum.ru/cpp-beginners/thread935880.html
задание: 1) Напишите функцию, принимающую структуру box по значению и отображающую все ее члены. 2) Напишите функцию, принимающую адрес структуры box и устанавливающую значение члена volume равным произведению остальных трех членов. помогите пожалуйста, ошибка в том что пишет не использована переменная "obem.obem", а как иначе указать? Объясните в чем ошибка. Учусь...
C++ хеш таблица в чем ошибка #include <iostream> #include <vector> #include <iterator> #include <algorithm> #include <string> struct HashTableNode { std::string data; http://www.cyberforum.ru/cpp-beginners/thread935878.html
Как обмануть компилятор и "перепрыгнуть через функцию"? C++
Известно, что адрес возврата из функции сохраняется на стеке. (В данном эксперименте мы отключим все виды инлайна в оптимизациях). Так вот, я решил воспользоваться этим свойством и написать программу, которая ломает вложенный вызов нескольких функций путём манипуляций со стеком. Программа следующая://#include <iostream> void* ret_address; //void* old_stack; int get6(){ _asm{ mov eax,...
vector<[class]> in class и перегрузка (ostream) C++
Доброе всем время суток ) столкнулся с проблемой Есть у меня несколько классов и есть класс внутри которого созданы векторы хранящие элементы других 3-х классов Пытался перегрузить острим для вывода на консоль содержимого класса и вот попал в капкан ) возможно даже своей криворукости так как только изучаю STL вообщем так работает и выводит ostream& operator<<(ostream& os,const...
C++ Структура в классе http://www.cyberforum.ru/cpp-beginners/thread935858.html
Здраствуйте! Хотел спросить можно ли использовать структуру в классе и соответствует ли оно принципам ООП? #include <iostream> #include <cmath> using namespace std; class Quad { protected: struct coord
C++ ошибка в коде #include <string.h> #include <iostream> #include <stdio.h> int main() { char m1="=id"; char m2; char m3; подробнее

Показать сообщение отдельно
Sublimee
7 / 7 / 0
Регистрация: 14.11.2012
Сообщений: 69
09.08.2013, 17:45  [ТС]     inline функции
Цитата Сообщение от Jupiter Посмотреть сообщение
реализация inline функций должна быть в хедер-файле
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// main.cpp
#include <iostream>
#include "Point.h"
#include "Rectangula.h"
using namespace std;
 
int main(void)
{
    Point point1, point2, point3, point4;
 
    point1.SetX(0);
    point1.SetY(0);
    point2.SetX(0);
    point2.SetY(10);
    point3.SetX(10);
    point3.SetY(10);
    point4.SetX(10);
    point4.SetY(0);
 
    Rectangula myRect(point1, point2, point3, point4);
    cout << myRect.GetArea();
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// point.h
#ifndef POINT_H
#define POINT_H
 
class Point
{
    int itsX;
    int itsY;
 
public:
    Point operator = (Point&);
    inline int GetX() const;
    inline int GetY() const;
    void SetX(int);
    void SetY(int);
};
 
#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
// point.cpp
#include "Point.h"
#include <iostream>
Point Point::operator = (Point& myPoint)
{
    itsX = myPoint.GetX();
    itsY = myPoint.GetY();
    return *this;
}
 
inline int Point::GetX() const
{
    return itsX;
}
 
inline int Point::GetY() const
{
    return itsY;
}
inline void Point::SetX(int newX)
{
    itsX = newX;
}
inline void Point::SetY(int newY)
{
    itsY = newY;
}
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
// rectangula.h
#ifndef RECTANGULA_H
#define RECTANGULA_H
 
#include "Point.h"
 
class Rectangula
{
    Point itsUpperLeft;
    Point itsUpperRight;
    Point itsLowerLeft;
    Point itsLowerRight;
 
public:
    Rectangula(Point UpperLeft, Point LowerLeft, Point LowerRight, Point UpperRight);
    ~Rectangula();
 
inline Point GetUpperLeft() const;
inline Point GetLowerLeft() const;
inline Point GetUpperRight() const;
inline Point GetLowerRight() const;
 
inline void SetUpperLeft(Point);
inline void SetUpperRight(Point);
inline void SetLowerLeft(Point);
inline void SetLowerRight(Point);
 
    int GetArea() const;
};
 
#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
// rectangula.cpp
#include "Rectangula.h"
 
Rectangula::Rectangula(Point UpperLeft, Point LowerLeft, Point LowerRight, Point UpperRight)
{
    itsUpperLeft = UpperLeft;
    itsUpperRight = UpperRight;
    itsLowerLeft = LowerLeft;
    itsLowerRight = LowerRight;
}
 
Rectangula::~Rectangula()
{
}
 
inline Point Rectangula::GetUpperLeft() const
{
    return itsUpperLeft;
}
inline Point Rectangula::GetLowerLeft() const
{
    return itsLowerLeft;
}
inline Point Rectangula::GetUpperRight() const
{
    return itsUpperRight;
}
inline Point Rectangula::GetLowerRight() const
{
    return itsLowerRight;
}
 
inline void Rectangula::SetUpperLeft(Point myPoint)
{
    itsUpperLeft = myPoint;
}
inline void Rectangula::SetUpperRight(Point myPoint)
{
    itsUpperRight = myPoint;
}
inline void Rectangula::SetLowerLeft(Point myPoint)
{
    itsLowerLeft = myPoint;
}
inline void Rectangula::SetLowerRight(Point myPoint)
{
    itsLowerRight = myPoint;
}
 
inline int Rectangula::GetArea() const
{
    return  ( itsUpperRight.GetY() - itsLowerRight.GetY() ) * 
            ( itsUpperLeft.GetX()  - itsUpperRight.GetX() );
}
Почему тогда в этом проекте с inline всё в порядке? Объясните, пожалуйста.
Вложения
Тип файла: rar rectangular.rar (948 байт, 2 просмотров)
 
Текущее время: 20:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru