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

Массив указателей на функцию в классе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Аргумент функции - указатель на метод класса http://www.cyberforum.ru/cpp-beginners/thread1007262.html
Здравствуйте. Содержание задания - написать программу, создающую копию выбранного пользователем файла при помощи n-го кол-ва потоков (среда разработки "VS 2012"). Написание программы процедурным методом не вызвало ни каких трудностей. Но вот при написании её же при помощи классов... Суть вопроса в том, что при попытке передать метод класса в виде одного из аргументов в ф-цию CreateThread() -...
C++ Двумерный динамический массив. Все нечетные строки матрицы сдвинуть циклически на К элементов влево Помогите пожалуйста нужно нужно создать двумерный динамический массив и все нечетные строки матрицы сдвинуть циклически на К элементов влево. Я попыталась хотя бы просто их сдвинуть но у меня не получается не могли бы вы помочь ? #include <iostream> #include <stdlib.h> #include <conio.h> int **formMatr (int &n, int &m) { http://www.cyberforum.ru/cpp-beginners/thread1007257.html
Конструкторы C++
dynamic.h #pragma once #include <string.h> #include <iostream> #include <cstdlib> #include <clocale> #include <windows.h> #include <stdio.h> #include <conio.h>
Задача C++
#include <iostream> #include <math.h> #include <iomanip> using namespace std; float scor(int n, float x); int main() {
C++ printf("x\te^-x^2\n") http://www.cyberforum.ru/cpp-beginners/thread1007217.html
printf("x\te^-x^2\n"); если не сложно напишите по русски что тут выполняется
C++ Написать программу, упорядочивающую случайный массив чисел Дана неупорядоченная последовательность чисел a = {a0, a1, …, aN}. Отсортировать a методом обменной сортировки со слиянием Бэтчера. Помогите, пожалуйста, с кодом. Ума не приложу, как написать такую программу:-| подробнее

Показать сообщение отдельно
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
14.11.2013, 00:55     Массив указателей на функцию в классе
Доброго всем времени суток.Пожалуйста помогите разобраться.
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
59
60
61
62
63
64
65
66
67
68
#include <stdlib.h>
#include "iostream"
 
using namespace std;
 
template <class T> //Шаблон Pr класса с параметром T
class Pr
{
 T x;
bool A_1(T x, int n) {return x < n;}//Меньше 1
bool A_1_1(T x, int n) {return ((x <n)&&(x != 0))||((x>n)&&(x != 0));}//Не 0 и не 1
bool A_0_1(T x, int n = 0){return x >=n;}//Больше или =1
bool A_0(T x, int n){return (x == 0)&&(n ==0);}//Если 0
bool A_n(T x, int n){return x > n;}//Больше числа
bool A_2(int x, int n){return x % n != 0;}//Проверка на целое
typedef void (*P)();//указатель на функцию
void Serror( const int);//Функция вывода строк (массив указателей)
public:Pr()
 {
    memset(Pf,A_1,A_1_1,A_0_1,A_0,A_n,A_2 , sizeof(Pf));
 }
 P Pf [];//объявим массив из указателей на функцию
 T Oshibka (T x, const int n,P Pf[], const int M, const int N)//Функция принимает указатели на функции
{
    x =GetChislo ();
    while ( Pf [M]){Serror(N);x = GetChislo();}
 
return x;
}
T GetChislo ()           //Функция ввода
{
    while (!(cin >> x) || cin.peek() != '\n')
    {
        cin.clear();
        while (cin.get() != '\n');Serror(6);
    }
 return x;
}
};
int main()
{
 system("chcp 1251 > nul");
 int c = 0;
 Pr<int> S;
 cout<<"Введите число "<<"\n";
 c = S.GetChislo ();
 //c = S.Oshibka(c,5,4,0);//Здесь ошибка.
 cout <<"    "<<c<<"\n";
return 0;
}
template <class T>
void Pr <T>::Serror(const int n)
{
const char *Ar[]=
 {
" Число может быть 0 или 1                                  \n",
" Число может быть 1, 2, 3                                  \n",
" Число не может быть не четным и больше 24                 \n",
" Число не может быть   0                                   \n",
" Число не может быть меньше 1                              \n",
" Число  не может быть больше 6                             \n",
" Введен недопустимый символ.Вводить можно числа и точку    \n",
"    ОШИБКА!!!!           ОШИБКА!!!!                        \n"
"        ПОВТОРИТЕ ВВОД!                                    \n"
};
cout << Ar[7];
cout << Ar[n];
}
То же самое написал без класса все работает в классе нет.Программа должна выдавать ошибку и подсказки при не верном вводе любого типа данных.Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru