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

Обход инкапсуляции класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Оцените решение задачи http://www.cyberforum.ru/cpp-beginners/thread995360.html
Наткнулся тут на задание по программированию, от нечего делать решил его сделать на C++. Человеку его задали в университете, а я там никогда не учился, да и в С++ я новичок. Не знаю, в общем, как принято решать такие задания. Один ньюанс: я пока не умею работать с многофайловыми программами (лол), поэтому немного переделал задание. Без файлов, просто пользователь вводит строку, вводит, если...
C++ Необработанное исключение по адресу Необработанное исключение по адресу...нарушение прав доступа при чтении по адресу... #include <iostream> #include <conio.h> #include <math.h> #include <clocale> using namespace std; //помилка в визначенні відрізка ізоляції (ЕОМ вибирає ) float func(float);//основна функція float der1(float);//похідна 1-го порядку... http://www.cyberforum.ru/cpp-beginners/thread995355.html
C++ Видео курсы по С++
РЕбят может кто знает где скачать хорошие видео курсы по С++ ? Буду благодарен за ссылку
C++ Как ускорить работу (поиск вхождений подстроки)?
//подсчет kf int NumberKF(string &P, vector<string> & F, const int f){ int kf =0; for(size_t i = 0; i < f; ++i){ //обход по всем строкам for(size_t j = 0; j < F.size() - P.size() +1; ++j){ //по всем подстрокам длины l bool b = true; for(int g = 0; g < P.size(); ++g){ //проверка входжения if ((P != F) && (P != 'N')){ b = false; ...
C++ Друзья исправьте пожалуйста если что не так http://www.cyberforum.ru/cpp-beginners/thread995320.html
Написать программу, которая переводит число из 2-й системы счисления в 8-ю, не переводя все число в 10-ю . Выполнить отладку программы с помощью какого–либо примера, подготовленного Вами на бумаге. #include <iostream> #include <iomanip> #include <math.h> #include <conio.h> #include <String.h> #include <windows.h> using namespace std; int main() {
C++ Передача контейнера set в функцию Всем здравствуйте! Мне нужно написать функцию которая будет выводить всю информацию которая хранится в контейнере set. Пробовал передавать как обычную переменную, не получилось. В интернете информацию находил только по контейнеру map и там через итераторы передавалось, но у меня не получилось переписать под set. Вот функция для вывода: void put_set (char mn, set s) { set <int>::iterator ik;... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
02.11.2013, 18:33     Обход инкапсуляции класса
Цитата Сообщение от laucher Посмотреть сообщение
Вопрос с грамотной инкапсуляцией остался
Pimpl.
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
// Person.h
struct PersonData;
 
class Person
{
public:
    Person(const char *name);
 
    const char* getName() const;
 
    // и весь остальной интерфейс
 
private:
    std::unique_ptr<PersonData> m_m;
};
 
 
// Person.cpp
#include "Person.h"
 
struct PersonData
{
    const char *name;
 
    PersonData(const char *name)
      : name(NULL)
    {
        this->name = strdup(name);
    }
    
    ~PersonData()
    {
        free(name);
    }
};
 
Person::Person(const char *name)
  : m_m(new PersonData(name))
{}
 
const char* Person::getName() const
{
    return m_m->name;
}
 
Текущее время: 18:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru