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

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6156 / 2885 / 281
Регистрация: 04.12.2011
Сообщений: 7,680
Записей в блоге: 3
02.11.2013, 23:35     Обход инкапсуляции класса
Мне самому очень интересно как бы здесь лучше поступить. С одной стороны поле - си-строка и значит если вернуть указатель, то защитить никак не получится. У OhMyGodSoLong интересная мысль мелькнула. Что если действительно возвращать копию другого типа. Например string:
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
#include <iostream>
#include<string>
#include <windows.h>
using namespace std;
class A{
public:
A(char *nam);
~A();
string get_name();
private:
char *name;
};
A::A(char *nam){
name = new char[strlen(nam)+1];
strcpy(name, nam);
}
A::~A(){
delete []name;
}
string 
A::
get_name(){
return name;
}
int main()
{
SetConsoleCP (1251); SetConsoleOutputCP (1251);
A a("Au!");
cout<<a.get_name();
cout << endl;
system ("pause" );
    return 0;
}
Хотя, может я просто вообще не понял о чем речь.
 
Текущее время: 07:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru