13 / 13 / 0
Регистрация: 29.10.2009
Сообщений: 71
1

разбить метод

17.02.2011, 01:16. Показов 494. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
class ar
{    int *ix,in;
     public:
      void task1();
   ....................
........................
};
есть файл, где объявлен класс ar.h. его реализация в ar.cpp .
реализация большая довольно, >200 строк.
разбивать в классе не сподручно - много методов, ненаглядно.

ar.cpp
C++
1
2
3
4
5
6
7
8
9
10
int find_max()
{ 
 return max;
}
 
void ar::task1()
{
   ........
      max=find_max(); //поиск максимального
}
но при использовании функции придется передавать туда данные через указатели.
кажется это неправильно. как разбить по-человечески?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2011, 01:16
Ответы с готовыми решениями:

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Метод медиан из трех элементов VS улучшенный быстрый метод сортировки(метод Бентли-Макилроя)
Здравствуйте! Дали весьма интересное задание. Сравнить два вышеуказанных метода сортировки для...

Мой код - метод бисекции, метод секущих (метод хорд)
Всем привет!!! Изучаем в институте С++. Сделал код, и там, и там одна и та же проблема - при любых...

Написать три алгоритма решения СЛАУ: Метод прогонки, метод квадратных корней, метод вращений
Начал писать курсовую. Нужно написать три алгоритма решения СЛАУ: прогонки, квадратных корней,...

3
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.02.2011, 01:20 2
shbk, Почему через указатели? Что вы имеете ввиду? Пример плз
1
13 / 13 / 0
Регистрация: 29.10.2009
Сообщений: 71
17.02.2011, 01:33  [ТС] 3
вот так, легально ли это?

C++
1
2
3
4
5
6
7
8
9
10
int find_max(int *ix,int in,int maxpos)
{ int maxnumb=ix[maxpos];
 
  for (int i=maxpos+1;i<in;i++)
    if (ix[i]>maxnumb)
      { maxnumb=ix[i];
        maxpos=i;
      }
      return maxpos;
}

C++
1
2
3
4
5
6
7
8
9
10
11
12
void ar::task1()
{
    .........
   while (countmore>0)
    {
       maxnumb=find_max(ix,in,maxpos);
  //передается указатель на массив, но суть не в этом, в объекте можно видеть данные(тут), 
  // если создать вспомогательную процедуру, то от туда их не видно, может можно как-то указать , что  эта процедура этого объекта и может иметь  доступ к данным без передачи?  я мало знаю об ооп. но кажется это немножко не по оопешевкси.  
    }
 
 
}
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.02.2011, 01:37 4
shbk, Использовать friend например. Или использовать геттеры/сеттеры... Или сделать функцию членом-класса... Или оставить так.
1
17.02.2011, 01:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2011, 01:37
Помогаю со студенческими работами здесь

Аналитический метод, метод половинного деления и метод итераций
Всем привет! Задача такая 1. Определить аналитическим путем точное решение уравнения a*x+b=0 на...

Метод хорд, метод касательных, метод половинного деления
Ребят помогите пожалуйста. Задали тему курсовой &quot;Решение нелинейных уравнений (метод хорд, метод...

Метод итерации и метод Ньютона (метод касательных)
Помогите решить методом итерации и методом Ньютона выражение привиденное ниже: e(в степени Х) -...

Метод прямоугольников, метод Симпсона, метод трапеций
Есть варианты?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru