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

Сортировка данных класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ strlen()+1 http://www.cyberforum.ru/cpp-beginners/thread777588.html
Зачем использовать strlen в данном случае? char s; get.cin(s,strlen(s)+1);
C++ класс strtype. перегрузка присваивания и сложения объясните, пожалуйста, что не так: # include <iostream> using namespace std; class strtype { char *p; int len; public: http://www.cyberforum.ru/cpp-beginners/thread777585.html
Аналог функции system("pause"); C++
Использую функцию system("pause"); для отображения консоли в конце программы, подскажите пожалуйста что нибудь кроссплатформенно и по возможности относящееся к языку С++ (а не С) пробовал getchar();, но там мне не нравиться что приходиться нажимать Enter в конце программы, а не нажмите любую кнопку !
C++ Foo::foo(): x(dx), y(dy) {}; Зачем
Очень часто видел конструктор типа Foo::foo(): x(dx), y(dy) {}; Сам использовал только в инициализации структур. Какие отличия от стандартного Foo:foo(int dx, int dy) { x = dx; y = dy; } Что предпочтительнее, какие преимущества у конструкции первого типа?
C++ Как заменить dooble, bool и тд http://www.cyberforum.ru/cpp-beginners/thread777552.html
Как изменить типы переменных только на int и float ? #include <iostream> #include <fstream> #include <iomanip> #include <cmath> #include <malloc.h> using namespace std;
C++ IDE с "подсказчиком кода" не подскажете, где можно скачать? требования такие- - чтобы была бесплатна(бесплатна - это значит бесплатна, а не с кряком :D); - чтобы был "подсказчик кода" - когда пишешь в редакторе, то чтобы выводил функции, переменные подключенных библиотек и тд.; - чтобы немного кушала ресурсов; Microsoft Visual Studio поэтому и не подходит - много кушает памяти. подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
6992 / 4163 / 594
Регистрация: 29.11.2010
Сообщений: 11,045
05.02.2013, 01:24     Сортировка данных класса
Вот упрощённый пример
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
#include <iostream>
#include <string>
 
class Book
{
    public:
        Book() : title() {}
        Book (const std::string &t) : title(t) {}
        void print() const { std::cout << "Title: " << title << std::endl; }
        friend void sort(Book *, const int);
 
    protected:
    std::string title;
};
 
 
int main()
{
    const int N = 3;
    Book b[N] = { Book("War and Peace"), Book("Asya"), Book("Idiot") };
    sort(b, N);
    for (int i=0; i < N; i++)
        b[i].print();
}
 
void sort(Book *b, const int size)
{
    for (int i=1; i < size; i++)
        if (b[i].title < b[i-1].title) // благодаря тому, что функция friend, мы
        {                              // имеем доступ к закрытым членам класса
            Book tmp = b[i];
            b[i] = b[i-1];
            b[i-1] = tmp;
        }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru