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

Шаблон класса. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объединение нескольких массивов в одну область памяти Union и прямое обращение по имени http://www.cyberforum.ru/cpp-beginners/thread539406.html
Нужно чтобы массив s пересекался в памяти с массивами u1,u2,u3 и чтобы к ним был прямой доступ по имени. Первое я реализовал: union ons { char s; struct ghs { char u1; char u2; char u3; } x; } w; Но в данном случае для доступа к массивам нужна нужно обращаться так:
C++ Рекурсивная процедура вычисления n-го числа Фибоначчи Добрый день. Подскажите, пожалуйста, алгоритм рекурсивной процедуры вычисления n-го числа Фибоначчи. Только начал изучать процедуры и рекурсии, поэтому задача вызвала затруднения. http://www.cyberforum.ru/cpp-beginners/thread539404.html
C++ ifstream, ofstream и объекты класса
Доброго времени суток, помогите пожалуйста разобраться. Есть некий класс: class Tr { public: Tr(){} ~Tr(){} private:
Задача чтения и записи текстовых файлов C++
Необходимо считать текст из файла, обработать его, и записать в файл, но не получается даже скопировать из одного файла в другой, не могу разобраться почему, помогите, пожалуйста. Прогу делаю на Borland C++ v 3.1 Вот, что пока получилось #include <stdio.h> #define BSIZE 200 int main(){ char base; FILE *in, *out; in=fopen("123.txt","r");
C++ Помогите найти и исправить ошибку в очереди. http://www.cyberforum.ru/cpp-beginners/thread539379.html
Здравствуйте. Вот написал очередь, но работает не совсем корректно. Удаляет "голову очереди" вроде бы правильно, но после добавления "хвоста" в очереди появляются непонятно какие элементы. Помогите пожалуйста найти ошибку. #include <iostream> #include <conio.h> #include <locale> using namespace std; void main() { setlocale (LC_ALL, "Russian");
C++ Строковые типы данных (не получается) Не могу написать алгоритм, текст программы: Дан текст, состоящий не менее чем из пяти слов. Вывести на экран слова, которые имеют одинаковые окончания "ИЯ","ИСТ","ИКА". #include <iostream> #include <string.h> using namespace std; void main () { int const n=100, kol=10; typedef char String ; String s, mas ; cout<<"Vvedite stroku: "; подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.04.2012, 11:18     Шаблон класса.
b0n4b, Обычный любой класс, какой вам захочется... Что сложного-то? оО

Добавлено через 12 минут
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <map>
#include <functional>
#include <string>
 
class SimpleCalc
{
public:
   SimpleCalc(const int first, const int second):
      first_arg(first), second_arg(second)
   {
   }
 
   int apply(const std::string& command) const
   {
      return functions[command](this);
   }
 
   int add() const
   {
      return first_arg + second_arg;
   }
 
   int minus() const
   {
      return first_arg - second_arg;
   }
 
   typedef std::function<int(const SimpleCalc*)> calc_function;
private:
   static std::map<std::string, calc_function> functions;
   int first_arg;
   int second_arg;
};
 
std::map<std::string, SimpleCalc::calc_function> SimpleCalc::functions = 
{
   std::make_pair("plus", &SimpleCalc::add),
   std::make_pair("minus", &SimpleCalc::minus)
};
 
int main()
{
   SimpleCalc calc(1, 1);
   std::string command;
   while (command != "quit")
   {
      std::cout << "plus for addition" << std::endl;
      std::cout << "minus for minus" << std::endl;
      std::cout << "quit for exit" << std::endl;
      std::cout << "Input command" << std::endl;
      std::getline(std::cin, command);
      if (command != "quit")
      {
         std::cout << calc.apply(command) << std::endl;
      }
   }
}
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
forever@pterois:~/My_pro1/cpp_pro$ g++ -o new new.cpp -std=c++0x
forever@pterois:~/My_pro1/cpp_pro$ ./new 
plus for addition
minus for minus
quit for exit
Input command
plus
2
plus for addition
minus for minus
quit for exit
Input command
minus
0
plus for addition
minus for minus
quit for exit
Input command
quit
 
Текущее время: 15:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru