Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2010, 18:43   #1
pavel282
 
Регистрация: 11.09.2010
Сообщений: 9
По умолчанию c++ шаблон функции

разъясните пожалуйста значение строк в коде. я их отметил, ни разу с таким не сталкивался, а пояснений нигде не нашёл, язык недавно начал изучать, спасибо большое заранее

Код:
#include<iostream>
#include<cstdlib>

using namespace std;

class array
{
  public:
    array(int size);
    long sum(void);
    int average_value(void);
    int add_value(int);    
    void show_array(void);
   
    
  private:
    int *data; //вот это не понимаю
    int size;
    int index;    
};

array::array(int size)
{
  data=new int[size]; //и вот эту строку тоже
  if(data==NULL)
  {
    cerr<<"nedostatochno pamayti-programma zavershaetsya "<<endl;
    exit(1);
  }
   array::size=size;
   array::index=0;
}


long array::sum(void)
{
  long sum=0;
  for(int i=0;i<index;i++)
  sum+=data[i];
  return(sum);
}

int array::average_value(void)
{
  long sum=0;
  for(int i=0;i<index;i++)
  sum+=data[i];
  return(sum/index);
  
}

void array::show_array(void)
{
  for(int i=0;i<index;i++)
  cout<<data[i];
  cout<<endl;
}

int array:: add_value(int value)
{
  if(index==size)
  return(-1);
  else
  {
     data[index]=value;
     index++;
     return(0);
  }
}


int main()
{
  array numbers(100);
  int i;
  for(i=0;i<50;i++)
  numbers.add_value(i);
  numbers.show_array();
 
  cout<<"summa chisel ravna:  "<<numbers.sum()<<endl;
  cout<<endl;
  cout<<"srednee znachenie ravno:  " <<numbers.average_value();
  cout<<endl;
 


system("pause");
return 0;
}

Последний раз редактировалось Stilet; 24.10.2010 в 20:04.
pavel282 вне форума Ответить с цитированием
Старый 24.10.2010, 19:28   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Читатить (гуглить) в любом учебники про указатели.
p51x вне форума Ответить с цитированием
Старый 24.10.2010, 19:33   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
int *data; //вот это не понимаю
//это значит что мы объявляем указатель на данные целого типа
data=new int[size]; //и вот эту строку тоже
//выделяем по указателю data массив из size элементов
если не понятно что все это значит можете написать
Код:
int data[100]; //массви из 100 элементов, полагаем что 100 элементов достаточно для этой задачи(size<100) вместо int *data;
data=new int[size];//эту строку в этом случае надо просто удалить
еще надо будет удалить эти строки:
Код:
if(data==NULL)
{
cerr<<"nedostatochno pamayti-programma zavershaetsya "<<endl;
exit(1);
}
но можно и заменить на if(size>100){...};

Последний раз редактировалось Stilet; 24.10.2010 в 20:07.
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатель на шаблон функции Syuf Общие вопросы C/C++ 3 29.04.2010 22:20
Шаблон функции Galeodor Общие вопросы C/C++ 4 27.10.2009 22:00
С++ Шаблон функции napanin Общие вопросы C/C++ 1 11.06.2009 19:07
С++ Шаблон функции napanin Помощь студентам 0 11.06.2009 18:53
Шаблон функции liver1981 Общие вопросы C/C++ 4 03.04.2009 17:35