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

Библиотеки раскрывают инкапсуляцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить класс "строка" http://www.cyberforum.ru/cpp-beginners/thread1792356.html
Определите класс "строка" с двумя член-данными: char *p и int len, где char*p- указатель на строку, а int len - длина строки. Напишите демонстрационную версию программы, которая создает 2 объекта класса "строка"( первый объект содержит строку с фамилией, второй объект содержит имя), выводит строки этих объектов на экран, складывает эти объекты и выводит на экран результирующую строку обоих....
C++ Создать функцию prompt и перегрузить её для параметра разного типа Создайте функцию prompt( ) для выдачи подсказки пользователю и ожидания ввода данного. Перегрузите функцию prompt( ) так, чтобы она осуществляла ввод данных типов int, double, long. • promt () перегруженная функция трех типов : int, double,long include <iostream> using namespace std; class unever{ public: int prompt(int i); double prompt(double d); long prompt(long l); http://www.cyberforum.ru/cpp-beginners/thread1792355.html
C++ Создать класс "кольцевой буфер"
Кольцевой буфер емкостью 1024 вещественных чисел. Доступ к элементам буфера – как к элементам очереди. Обязательны функции-члены класса для инициализации буфера, добавления и удаления элемента, определения количества свободного и занятого пространства в буфере. Описать класс и продемонстрировать его использование. • GetFreeSpace() возвращает свободное место • GetOccupiedSpace() возвращает...
Error C2679: бинарный "<<": не найден оператор C++
Кто-нибудь может объяснить, почему компилятор выдает ошибку? (строку с ошибкой смотрите в комментариях) error C2679: бинарный "<<" : не найден оператор, принимающий правый операнд типа std::string (или приемлемое преобразование отсутствует) #include "stdafx.h" #include <iostream> using namespace std; struct DATA{ int n, m;
C++ Создать однонаправленный линейный список и использовать его для решения задачи о заявках на авиабилеты http://www.cyberforum.ru/cpp-beginners/thread1792348.html
Создать шаблон класса «однонаправленный линейный список». Использовать его при решении следующей задачи: Составить программу, которая содержит динамическую информацию о заявках на авиабилеты. Каждая заявка содержит: • пункт назначения; • номер рейса; • фамилию и инициалы пассажира; • желаемую дату вылета. • Программа должна обеспечивать: • хранение всех заявок в виде списка; • добавление...
C++ Создание класса секундомера Создайте класс секундомера. Члены класса: переменные типа double для хранения начального и конечного значения времени. Обязательны функции- члены класса для инициализации секундомера (присваивает переменным нулевые значения), для запуска и остановки секундомера, для вывода на экран величины истекшего времени. • Конструктор присваивает нулевые значения переменным • Деструктор удаляет объект и... подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14213 / 6228 / 988
Регистрация: 02.05.2013
Сообщений: 10,388
Завершенные тесты: 1
11.08.2016, 09:52     Библиотеки раскрывают инкапсуляцию
+1 к сообщению выше.
Тоже не понимаю, чем не устраивает идиома pimpl?
В простейшем виде:
C++
1
2
3
4
5
6
7
8
9
10
// #include <string> уже не нужен.
 
class A
{
public:
    A();
    ~A();
private:
    void * m_pImpl;
};
?

Да, работы придется немного больше выполнить, например, уже нельзя будет обойтись
дефолтовыми конструктором копирования и оператором присваивания, но это, как мне кажется,
совсем небольшая плата.
 
Текущее время: 10:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru