Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 3
Регистрация: 27.11.2012
Сообщений: 146

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

05.04.2014, 12:43. Показов 1343. Ответов 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
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
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
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
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 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка 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. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru