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

Отделение интерфейса класса от его реализации - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ G++/GCC: Вывод сообщений http://www.cyberforum.ru/cpp-beginners/thread1213268.html
Как получить сообщения компилятора, запускаемого по приказу моей программы?
C++ При нажатие на 1 запускалса файл с форматом .bat Помогите пожалуйста! Киньте мне код любой програми, штоб при нажатие например 1 и ентер запускалса файл с форматом .bat !Спасибо! http://www.cyberforum.ru/cpp-beginners/thread1213240.html
C++ Запрещение переинициализации public-поля как члена класса
Здравствуйте! Предположим, у нас есть некий класс, в нем есть public-поле, которое выполняет некоторые служебные функции. Нужно запретить вызов конструктора поля отовсюду, кроме как из основного класса, т. е. нельзя написать: class A { public: B field;
C++ Перед каждым вторым отрицательным значением в массиве вставить нулевое значение
Дан вещественный массив. Перед каждым вторым отрицательным значением в вещественном массиве вставить нулевое значение.
C++ Найти среднее квадратическое для положительных элементов матрицы, стоящих на парных местах http://www.cyberforum.ru/cpp-beginners/thread1213208.html
Задано одномерная матрица А(10).Розщитать среднее квадратическое для положительных элементов,что стоят на парныъ местах .
C++ Бинарные деревья Компилятор выдаёт ошибки в 9, 10 и 12, 13 строках: invalid conversion from 'int' to 'sNode*' Подскажите пожалуйста, что не так. struct sNode { int value; sNode *left; sNode *right; }; int Proizved (sNode *node) { if(node == 0) return 0; if(node->left) подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
20.06.2014, 18:49     Отделение интерфейса класса от его реализации
Цитата Сообщение от BESSON_off Посмотреть сообщение
видели только функции-члены без упоминания данных-членов.
Ну можно как по Майерсу:
C++
1
2
3
4
5
6
7
8
9
10
11
//MyClass.h
//...
struct MyClass_impl ;
class MyClass {
   MyClass_impl * p ;
public:
   MyClass () ;
   /*...*/
   int getX () ;
} ;
//...
C++
1
2
3
4
5
6
7
8
9
10
11
//MyClass.cpp
struct MyClass_impl {
   int x ;
   int y ;
} ;
MyClass::MyClass () : p ( new MyClass_impl ) {
}
/*...*/
int MyClass::getX() {
   return p->x ;
}
Клиентам будет виден только указатель на реализацию.
 
Текущее время: 05:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru