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

Protected Private Public - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поменять все буквы а на a (русские на латинские) и к на k http://www.cyberforum.ru/cpp-beginners/thread919222.html
Вводят 2 текста. Сравнить их, объединить, вывести все пробелы, точки, запятые, двоеточия. Затем вывести размер каждого текста и общий размер. Затем поменять все буквы а на a (русские на латинские) и к на k. Потом вывести количество замен. Проблема с русскими буквами, нужна помощь!!! #include <iostream.h> #include <string.h> using namespace std; int main ()
C++ Вывод текста из файла в консоль и его последующее редактирование Задача состоит в следующем: нужно вывести текст из файла расширением, скажем .txt, в консоль, и далее заниматься его редактированием. То есть, это выравнивание по ширине, корректное отображение самого текста. Я добился только одного, вывел в консоль текст без переносов, то есть слово обрывается на одной строке и продолжается на следующей, и с тем условием, что исходный текст, тот который в .txt,... http://www.cyberforum.ru/cpp-beginners/thread919217.html
Написать функцию для заполнения числами из указанного диапазона C++
Написать функцию для заполнения числами из указанного диапазона.
подключение к материнке C++
как мне подключится в материнке и изменить скорость врещения кулера на проце? допустим адрес кулера я уже знаю.
C++ Переставить элементы массива так, чтобы отрицательные оказались в начале, положительные - в конце http://www.cyberforum.ru/cpp-beginners/thread919186.html
дан массив целых чисел переставить его элементы так, чтобы отрицательные оказались в начале, положительные - в конце, а нули - между ними уточнение: положительные (и отрицательные тоже) должны идти в исходном порядке между собой
C++ Заголовочный файл Здравствуйте. Помогите, пожалуйста, разобраться с заголовочными файлами и функциями-"друзьями". Например: main.cpp #include "A.h" #include "myTest.cpp" // проблемное место int main(){ A myA; myTest(myA); return 0; подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
07.07.2013, 18:49     Protected Private Public
Wolkodav, На самом деле - этот момент отлично рассматривается у Саттера "Новые сложные задачи на С++" Задача 15. Кому лень читать - опишу примеры тут.

Стандартный вариант
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
#include <iostream>
 
class A
{
    int a;
public:
    A() : a(0) {}
    int get() { return a; }
    template<typename T>
    void function() {}
};
 
struct dummy {};
 
template<>
void A::function<dummy>()
{
    a = 500;
}
 
int main()
{
    A a;
    std::cout << a.get() << std::endl;
    a.function<dummy>();
    std::cout << a.get() << std::endl;
}
https://ideone.com/iS1ghd

Хак

Создаем новый файлик, в нем определяем наш класс с тем же именем и ровно тем же составляющим, добавляя некую friend функцию.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// X.h
 
class X
{
int value;
};
 
// X_h.h
 
class X
{
int value;
friend ::hack(X&);
};
 
void hack(X&) { x.a = 5; }


Хак
C++
1
2
3
#define private public
//
#undef private

Хак
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class X
{
int a;
};
 
class HackX
{
public:
   int not_private;
};
 
void f(X& x)
{
   (reinterpret_cast<HackX&>(x)).not_private = 500;
}
 
Текущее время: 18:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru