Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 7

Шаблоны классов

16.11.2011, 14:56. Показов 1541. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// WorkShablon.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace std;
 
 
 
//TEMPLATE.VEC - шаблон векторов.
template <class T> // Т - параметр шаблона.
class Vector
{
  T *data;  // Начало одномерного массива.
 // T *typ;
  int size,n; // Количество элементов в массиве
 public:
  Vector(int); // Конструктор класса vector.
  ~Vector() { delete[] data; } // Деструктор.
  // пропишем методы
 
  // Расширение действия (перегрузка) операции "[]":
  T& operator[] (int i) { return data[i]; }
  void Run();
  
};
 
// Внешнее определение конструктора класса:
template <class T>
Vector <T>::Vector(int n)
{ 
  data = new T[n]; 
  size = n;
};
 
template< class T >
   void Vector<T>::Run()
  {
   int n=size;
      Vector <int> X(n);
     
    cout<<"vvedite elementi"<<endl;
                for(int i=0; i<n;i++)
                 {cin>>X[i];} 
                     int temp;
        temp = X[0];
         for(int i=0; i<n; i++)
              {
                X[i] = temp*X[i];
                }
          for (int i = 0; i < n; i++)
     cout <<"  " << X[i] <<" ";;
  };
 
 
 
 
 
void main ()
{ 
    int n,k;
    cout<<"Vvedite n"<<endl;
    cin>>n;
 
  Vector <int> X(n);
  // Создаем объект  класса   "символьный вектор":
  Vector <char> C (n) ;
  Vector <double> D (n);
   
 cout<<"S kakim tipom hotite rabotat?"<<endl;
 cout<<"1. int"<<endl;
 cout<<"2. char"<<endl;
 cout<<"3. double"<<endl;
 cin>>k;
  // Определяем компоненты векторов:
 
  switch (k) 
{ 
  case 1: X.Run();
                /*cout<<"vvedite elementi"<<endl;
                for(int i=0; i<n;i++)
                 {cin>>X[i];} 
                     int temp;
        temp = X[0];
         for(int i=0; i<n; i++)
              {
                X[i] = temp*X[i];
                }
  for (int i = 0; i < n; i++)
     cout <<"  " << X[i] <<"  ";;   */   
      break; 
      
  case 3: 
         cout<<"vvedite elementi"<<endl;
        for(int i=0; i<n;i++)
        {cin>>D[i];} 
             double temp2;
         temp2 = D[0];
         for(int i=0; i<n; i++)
             {
                    D[i] = D[i];
             }
          for (int i = 0; i < n; i++)
         cout <<"  "  << D[i];; break;
 
  case 2: 
        cout<<"vvedite elementi"<<endl;
        for(int i=0; i<n;i++)
        {cin>>C[i];} 
                      for (int i = 0; i < n; i++)
                        cout <<"  "  << C[i]; ; break;
     default: "Viberite pravilno!"; 
} 
 
//   int r; 
  
  //cout<<"Resultat = "<<X.Res()<<endl;
  //cout<<"Res = "<<sun<<endl;
  getch();
}




У меня есть данный код... У меня не получается сделать один метод для работы с разными типами массивов. Помогите пожалуйста...
Условие задачи звучит так:
Общая постановка. Даны: число N и последовательность a1, a2, … aN. Создать шаблон класса, порождающий динамические одномерные массивы с элементами различных типов (вещественные, целочисленные, символьные). Тип данных и результат являются параметрами по отношению к классу, программа должна иметь методы инициализации, конструктор, деструктор, метод просмотра значений созданного массива согласно заданному алгоритму.
2. (a1*a1), (a1*a2), …, (a1*aN);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2011, 14:56
Ответы с готовыми решениями:

Шаблоны классов (умножение классов)
Прошу помочь, нужно создать шаблон для умножения значений 2-х классов. Умножить классы просто получается, а вот с шаблонами какая то...

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

Шаблоны классов
Доброго времени суток. Сегодня на форуме зарегался очередной неродивый быдлокодер, которому нужна ваша помощь! head.h #include...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2011, 14:56
Помогаю со студенческими работами здесь

Шаблоны классов
Добрый день. Изучаю шаблоны классов в С++ в среде MVC 2006. Проблема в следующем: я создал шаблон класса стек, с размером этого самого...

Шаблоны классов
Требуется создать шаблон некоторого целевого класса A. В каждом варианте уточ- няются требования к реализации(Queue list) — указанием на...

Шаблоны классов
Помогите пожалуйста написать шаблон класса двумерный числовой массив(матрица) Методы: конструктор с параметрами, деструктор ...

Шаблоны классов
реализовал стек. хочу вставить шаблон. не получается. не компиллирует да и вообще куча ошибок. как эта штука работает? #include...

Шаблоны классов
Всем привет!!! Подскажите пожалуйста в чем ошибка ? class PRIMA должен работать с типом int и float шаблон создал по этой...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru