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

Классы. Доступ к созданному объекту. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для чего нужна функция errno_t err? http://www.cyberforum.ru/cpp-beginners/thread386365.html
Почему в Visual C++ 5.0 нужно вводить не FILE *fp; fp = fopen("File" , "w"); ,а FILE *fp; errno_t err; err = fopen_s(&fp, "File" , "w"); ?
C++ Работа со списками (через класс). Скажите, в чем ошибка. Доброго времени суток. Я написал программу, просмотрите, пожалуйста. В общем нужно реализовать класс, выполняющий следующие функции: 1. Добавление элемента в начало списка 2. Добавление элемента в конец списка 3. Включение элемента в середину списка, после элемента с определенным идентификатором 4. Удаление элемента по его идентификатору 5. Замена двух соседних элементов списка. 6.... http://www.cyberforum.ru/cpp-beginners/thread386361.html
C++ Свой контейнерный класс
Господа, помогите пожалуйста написать прогу. сама вообще не справляюсь: шаблоны и контейнеры понимаю с пятого на десятое. задание: Создать контейнерный класс на основе класса вектор или лист с обработкой исключений #include <exception>. прога должна выводить на экран 10 символов.
Ходы шахматного коня C++
Задача заключается в том, чтобы найти минимальное количество ходов для перехода шахматного коня с клетки T1 на клетку T2. Если у кого-то есть идеи, буду благодарен:)
C++ Повтор программы после ввода символа http://www.cyberforum.ru/cpp-beginners/thread386346.html
На форуме уже данная тема была, но не один из примеров приведенных в ней не работает... Как реализовать повтор программы, с помощью char ch; do {std::cout << "continue? (y/n): "; std::cin.ignore(1024, '\n'); std::cin >> ch; } while ( ch == 'y' || ch == 'Y' ); return 0; чтобы она не захватывала предыдущее значение, которое было уже введено?...
C++ Корабли Здравствуйте! Ребят, не могли бы вы решить одну задачку на динамику? именно она не получается была бы вам очень благодарна! заранее большое спасибо вам! вот задачка: Дано прямоугольное поле NxM, в клетках которого записаны символы '.' (точка) и '*' (звездочка). За один ход разрешается выбрать один из краев поля (верхний, нижний, левый или правый) шириной (высотой) в 1 клетку и удалить его. ... подробнее

Показать сообщение отдельно
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
18.11.2011, 08:07  [ТС]     Классы. Доступ к созданному объекту.
обновил пост

Добавлено через 4 минуты
vitaly1981, У меня просто есть очень большой скрипт для одного движка, поэтому привожу на более понятном примере.


Deviaphan, Хм... пошёл снова думать.

Добавлено через 14 минут
Deviaphan, Тоесть, если мне не нужны новые объекты, а только один GetAbcBook, то мне нужно создать "а-ля Singleton", чтобы управлять объектом как захочу?
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef BOOK_H
#define BOOK_H
 
struct Book
{
        void SetMaxPages(int max) { itsMaxPages = max; }
        int GetMaxPages() const { return itsMaxPages; }
        static Book* GetAbcBook()
        { 
            static Book* book = 0;
            if(!book)
                new Book;
            return book; // сумасшедший бред
         }
private:
        int itsMaxPages;
};
#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
#include <iostream>
#include "book.h"
 
void SensMessages()
{
    Book* mainBook = Book::GetAbcBook();
    std::cout << mainBook->GetMaxPages() << std::endl;
}
 
// обновляем внешне
void UpdateMaxPages(int max)
{
    Book* mainBook = Book::GetAbcBook();
    mainBook->SetMaxPages(max);
}
 
void main()
{
    Book* itsAbc = Book::GetAbcBook();
    itsAbc->SetMaxPages(777);
    SendMessages(); // 777
    UpdateMaxPages(666);
    SendMessages(); //666
    std::cin.get(); 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru