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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
#1

Создание Класса - C++

16.12.2010, 22:10. Просмотров 634. Ответов 10
Метки нет (Все метки)

Создать класс "Массив чисел" в котором храниться массив с числами( double ) длинной 5.Сделать классу такие методы:1)конструктор который заполняет массив 0 2)деструктор который сообщает о ликвидировании обьекта 3) метод "Изменить" с индекслм изменяемого элемента(0...4) и новое значение,которое изменяет значение изменяемого массива.4) метод "Сумма" который возвтащает сумму элементов 5) метод "Среднее значение" который возвращает среднее арифметическое элементов 6) метод"Печатать" который печатает значение элементов 7)метод"Инициализация" который устанавливает на 0 все значения.

Используя библиотеку <iostream>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2010, 22:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание Класса (C++):

Создание указателя типа базового класса на экземпляр производного класса - C++
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса - наследника, для чего это может применяться?

Возможно ли создание объекта шаблонного класса в функции этого класса? - C++
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон контейнера (множество) с операциями...

Создание класса-списка на основе кода со списком без класса - C++
Здравствуйте. Не могли бы вы показать, как оформить этот код в виде класса. Смысл задания: это засунуть в список большое число(здесь я...

Построение описания класса, создание и уничтожение объектов этого класса - C++
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...

Явное создание экземпляра класса и явная специализация шаблона класса - C++
Всем добрый день! Не могу разобраться - эти две технологии дают один и тот же результат? В каких случаях применять одно и другое?...

Создание объекта класса с полем являющимся объектом другого класса - C++
Bill a; cin&gt;&gt;a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...

10
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
16.12.2010, 22:20  [ТС] #2
Есть такой набросок но всеравно не работает((
0
Вложения
Тип файла: doc DoubleArray.doc (22.5 Кб, 13 просмотров)
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
16.12.2010, 23:12  [ТС] #3
Подскажите в чем ошибка((
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
16.12.2010, 23:50 #4
Цитата Сообщение от Татьяна3 Посмотреть сообщение
Создать класс "Массив чисел" в котором храниться массив с числами( double ) длинной 5.Сделать классу такие методы:1)конструктор который заполняет массив 0 2)деструктор который сообщает о ликвидировании обьекта 3) метод "Изменить" с индекслм изменяемого элемента(0...4) и новое значение,которое изменяет значение изменяемого массива.4) метод "Сумма" который возвтащает сумму элементов 5) метод "Среднее значение" который возвращает среднее арифметическое элементов 6) метод"Печатать" который печатает значение элементов 7)метод"Инициализация" который устанавливает на 0 все значения.
Используя библиотеку <iostream>
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
class Valarray
{   
   public:
      static const size_t size = 5;
 
      Valarray()
      {
     for(size_t i = 0; i < size; ++i)    
        data[i] = 0;     
      }
 
      ~Valarray()
      {
     std::cout << "destructor" << std::endl;
      }
 
      void change(size_t index, double newVal)
      {
     if(index < size)
        data[index] = newVal;
      }
      
      double sum() const
      {
     double sum = 0;
     for(size_t i = 0; i < size; ++i)
        sum+= data[i];
     return sum;
      }
 
      double average() const
      { 
     return sum() / size;
      }
 
      void print() const
      {
     for(size_t i = 0; i < size; ++i)    
        std::cout << data[i] << ' ';           
      }
 
      void init()
      {
     for(size_t i = 0; i < size; ++i)    
        data[i] = 0;
      }
 
   private:      
      double data[size];
};
0
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
17.12.2010, 23:09  [ТС] #5
Всеравно не работает(
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
17.12.2010, 23:35 #6
Цитата Сообщение от Татьяна3 Посмотреть сообщение
Всеравно не работает(
Что именно не работает?
0
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
17.12.2010, 23:38  [ТС] #7
Все,числа даже не могу ввести именно длинной 5 ((
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
18.12.2010, 00:10 #8
Цитата Сообщение от Татьяна3 Посмотреть сообщение
Все,числа даже не могу ввести именно длинной 5 ((
Код показывайте, что у вас не получается...
0
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
18.12.2010, 15:58  [ТС] #9
Код я прибавила в сообщениях выше как файл Worda,его я использую но ничего не получается...
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
18.12.2010, 18:05 #10
С приведённым мной кодом, что у вас не выходит? Ваше вложение я даже не смотрел, неужели так трудно выложить исходник на форум?
0
sanyok31
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 3
18.12.2010, 18:52 #11
Вот код, у меня работает. Особо не парился с именами методов и массива Сама думай
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
69
70
71
72
73
#include <iostream>
using namespace std;
 
class Massive
{
public:
    //конструктор
    Massive()
    {
        for(int i=0; i<size; i++)
    m[i]=0;
    }
 
    //деструктор
    ~Massive()
    {
        cout << "\nDeleting object of class Massive... " << endl;
    }
 
    //метод "изменить"
    void Set(int index, double value)
    {
        m[index] = value;
    }
 
    //метод "сумма"
    double Summa()
    {
        double sum = 0;
    for(int i=0; i<size; i++)
        sum += m[i];
 
    return sum;
    }
 
    //метод "среднее значение"
    double Middle()
    {
        return Summa() / size;
    }
 
    //метод "печать"
    void Print()
    {
        cout << "massive: " << endl;
    for(int i=0; i<size; i++)
        cout << "#" << i << " " << m[i] << endl;
    }
 
    //метод "инициализация"
    void Initialize()
    {
        for(int i=0; i<size; i++)
        m[i] = 0;
    }
 
private: 
    static const int size = 5; //размер массива
    double m[size]; // наш массив
};
 
int main()
{
    Massive mass; // создаём объект класса
    //тут вызываем методы, какие нужно ;)
    cout << mass.Middle() << endl;
    mass.Set(2, 5.3);
    cout << mass.Middle() << endl << endl;
    mass.Print();
 
    cin.get();//задержка экрана
    return 0;
}
P/S Сама разбивай класс в .h/.cpp, тут не сложно
0
18.12.2010, 18:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2010, 18:52
Привет! Вот еще темы с ответами:

Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами - C++
Привести пример класса с конструктором и деструктором, созданием экземпляра класса с помощью конструктора с параметрами.

Создание статической функции класса, которая принимает экземпляр этого же класса как объект - C++
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...

создание объекта класса в методе этого же класса - C++
собственно вопрос. можно ли создавать объект класса в методе того же класса? насколько это правильно и как это можно сделать (если это...

Создание экземпляр класса из другого класса - C++
Добрый день, форумчане. Помогите разобраться с такой плюсовенькой проблемой: есть 2 класса (назовем их A &amp; B). Нужно в классе B запустить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru