Форум программистов, компьютерный форум 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;... подробнее

Показать сообщение отдельно
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
02.11.2013, 21:11     Обход инкапсуляции класса
Цитата Сообщение от Tulosba Посмотреть сообщение
В каком смысле?
Ну в смысле зачем делать имя PersonData видимым извне, если можно обойтись PersonData как вложенным классом?

Цитата Сообщение от Tulosba Посмотреть сообщение
а зачем он нужен? Удалением PersonData заведует std::unique_ptr.
unique_ptr для удаления объекта через delete нужен полный тип. Поэтому по идее нам нужно явно написать деструктор в файле реализации, иначе компилятор не сможет сгенерить деструктор из места, где PersonData не определена.

Добавлено через 9 минут
laucher, все нормально с инкапсуляцией. Зачем мешать другому разработчику, если он явно дополнительными телодвижениями указывает, что он знает, что и зачем делает?
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Возвращать не указатель или ссылку, а объект.
Это того не стоит.
 
Текущее время: 03:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru