1 / 1 / 3
Регистрация: 27.11.2012
Сообщений: 146

Шаблон классов: как добавить файлы этого шаблона к проекту?

05.04.2014, 12:43. Показов 1345. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, подскажите, как в Visual Studio 2010 в проекте типа Windows Form создать свой шаблон класса, то есть как добавить файлы этого шаблона к проекту?
Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2014, 12:43
Ответы с готовыми решениями:

Как добавить ссылки на исходные файлы библиотеки классов?
Как добавить ссылки на исходные файлы библиотеки классов? Есть проект, есть библиотека классов и её исходники. Всё работает, но не так, как...

Как пришить проекту библиотеку классов
Нашел на МСДНе проект в виде библиотеки классов, под названием SharpGL, которая позволяет создавать графику на основе технологии OpenGL, но...

Как добавить взаимодействие классов в диаграмму классов?
Нужна диаграмма классов для пояснительной записки вот такого вида Диаграмма классов которую генерирует visual studio 2012 ...

4
Модератор
Эксперт С++
 Аватар для zss
13774 / 10967 / 6491
Регистрация: 18.12.2011
Сообщений: 29,249
05.04.2014, 15:58
Т.к. файлы шаблона нельзя компилировать отдельно, то только через
C++
1
#include "file.cpp"
0
1 / 1 / 3
Регистрация: 27.11.2012
Сообщений: 146
05.04.2014, 16:00  [ТС]
То есть по сути создать файлы .h и .cpp и реализовать шаблон в них?
0
Модератор
Эксперт С++
 Аватар для zss
13774 / 10967 / 6491
Регистрация: 18.12.2011
Сообщений: 29,249
05.04.2014, 16:43
Можете весь шаблон записать в .h
0
1 / 1 / 3
Регистрация: 27.11.2012
Сообщений: 146
05.04.2014, 18:55  [ТС]
Что-то не получается создать, подскажите, где ошибка:

C++
1
2
3
4
5
6
7
8
9
10
11
.h
#pragma once
template <class T>
public ref class TVektor
{
public:
    TVektor(void);
protected:
    T *vektor_a;// Указатель на вектор
    int size_of_v;// Размер вектора
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "StdAfx.h"
#include "NormVektor.h"
#include <stdlib.h>
#include <time.h>
#include "TVektor.h"
 
 
TVektor<class T>::TVektor(void)
{
    vektor_a = new T[3];
    size_of_v=3;
}
Даже если вот так сделать и больше ничего, то на строку с new появляется ошибка:
error C2512: T: нет подходящего конструктора по умолчанию

Добавлено через 5 минут
И сразу ещё один вопрос.
Есть шаблон, в который будет передаваться произвольный тип, например int или тип моего класса.
В конструкторе нужно создавать массив значений этого типа.
Как в шаблоне описать конструктор, что бы он смог создать как массив int так и массив классов.
Понятно, что для инт просто заполнить массив значениями типа инт, но как быть для класса. Там же конструктор нужен. Как его передать в шаблон?

Добавлено через 6 минут
Хотя нет, вопрос наверное такой: есть ли у стандартных типов данных конструкторы и есть ли они с параметрами?
Что бы я при создании массива просто сказал:
C++
1
2
for (int i=0;i<size_of_v;i++){
    vektor_a[i]=new T();
Добавлено через 1 час 5 минут
Итак, что у меня получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
#pragma once
template <class T>
class TVektor
{
public:
    TVektor(void);
protected:
    T *vektor_a;// Указатель на вектор
    int size_of_v;// Размер вектора
 
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "StdAfx.h"
#include "NormVektor.h"
#include <stdlib.h>
#include <time.h>
#include "TVektor.h"
 
 
template<class T>TVektor<T>::TVektor(void)
{
    vektor_a = new T[3];
    size_of_v=3;
    srand((unsigned int)time(0));
    for (int i=0;i<size_of_v;i++){
        vektor_a[i]=new T();
    }
}
Вопрос, будет ли это работать для стандартных типов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.04.2014, 18:55
Помогаю со студенческими работами здесь

Как называется стиль шаблона этого сайта
Добрый день, можете подсказать как называется стиль шаблона этого сайта, не реклама? Может кто-нибудь знает темы для wp похожие?

Зачем нужен шаблон как параметр шаблона?
Видел много примеров, но что-то не особо понятно зачем и как это работает.

Как добавить форму к проекту?
Подскажите как привязать к своему проекту другую форму, чтобы по нажатию на кнопку открывалась... А то у меня в данный момент 2 разных...

Как сделать шаблон функции другом шаблона класса?
С обычной функцией понятно: template&lt;class T&gt; class A { friend void f(); } А вот если функция f шаблонная, то указать ее...

Как в IntelliJ IDEA скомпилировать исходные файлы в файлы классов
Учусь делать апелты &lt;html&gt; &lt;body&gt; &lt;applet code=&quot;aplet.class&quot;,width=&quot;300&quot; height=300&gt; /*&lt;/aplet&gt; &lt;/body&gt; &lt;/html&gt; ...


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

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

Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru