|
|
Другие темы раздела | |
C++ Вычесть из положительных элементов массива элемент с номером k1, а к отрицательным прибавить элемент с номером k2, нулевые элементы оставить без измен Вычесть из положительных элементов массива элемент с номером k1, а к отрицательным прибавить элемент с номером k2, нулевые элементы оставить без изменения. Указания: номера k1 и k2 вводятся с клавиатуры. https://www.cyberforum.ru/ cpp-beginners/ thread216820.html |
C++ Определить, сколько делителей у вводимого числа, и вывести сами делители определить сколько и каких делителей у вводимого числа |
C++ Стандартная библиотека C++ и STL Вот нашел такие строки в книге Эккеля "Философия С++" Контейнеры и алгоритмы стандартной библиотеки С++ не редко путают с объектами библиотеки STL....//...между стандартной библиотекой С++ и библиотекой STL существует множество тонких различий. Таким образом, несмотря на популярность этого заблуждения, STL не является частью стандартной библиотеки С++. Путаница возникает довольно часто, потому... https://www.cyberforum.ru/ cpp-beginners/ thread216798.html | C++ Программа объединения двух целочисленных массивов Очень жду помощи) составление и компиляция программ обработки строк и массивов с помощью пакета MASM32. 1. Написать программу объединения двух целочисленных массивов с использованием команды MOVSB. Необходимо учесть, что результирующий массив должен иметь размер, как минимум равный сумме размеров объединяемых массивов. 2. Удалить среднюю букву при нечетной длине строки и две средние буквы... https://www.cyberforum.ru/ cpp-beginners/ thread216792.html |
Как использовать таймер C++ Здравствуйте, господа. Можно ли каким-либо образом использовать таймер в программе вообще? Увидел описание таймера, однако не нашёл timer.h. Мне необходимо, чтобы программа в том случае, если пользователь ничего не делает опр. промежуток времени в течение getch (), выдавала сообщение. Заранее благодарю за возможные ответы. |
C++ количество элементов в массиве встречающихся 2 раза дан одномерный массив состоящий из N элементов. Выяснить количество элементов в массиве А встречающихся более 2-х раз. https://www.cyberforum.ru/ cpp-beginners/ thread216786.html |
C++ Как вывести строки, содержащие "world" из файла?
https://www.cyberforum.ru/ cpp-beginners/ thread216765.html Дан файл, например example.txt. В нем записано примерно следующее wfwf world ofkefesf world hello44545 effefe345 befgge 333 fwfwf word WorlD 325 Нужно вывести только те строки в этом файле, которые содержат слово "world" без учета регистра. |
C++ одномерный массив. дан одномерный массив А состоящий из N числа элементов. Выяснить сколько элементов в массиве А встречающихся более 2-х раз?...помогите . |
C++ Поиск локального минимума!!!Срочно!
https://www.cyberforum.ru/ cpp-beginners/ thread216753.html Помогите написать программу на с++ по следующей задаче : Найти локальный минимум в матрице. Буду очень благодарен! |
C++ Файлы Работа осуществляется в файле. Во входном файле вводится число, а в выходном файле расчитывается его факториал. Прошу помочь. https://www.cyberforum.ru/ cpp-beginners/ thread216736.html |
Подскажите насчёт random() C++ Люди добрые, подскажите, как можно сделать так, чтобы случайно выбиралось одно из заданных четырёх чисел? Если использовать random(num), то будет случайный выбор от 0 до num-1, а мне нужно по-другому. Например, даны переменные int x1=50,x2=250,y1=50,y2=200,N; мне нужно, чтобы переменной N присвоилось значение одной из четырёх переменных (x1 или x2 или y1 или y2) случайным образом. |
C++ Подсчитать число точек,находящихся внутри круга Задача: подсчитать число точек,находящихся внутри круга радиусом R с центром в начале координат; кординаты точек заданы масивами X(80), Y(80);расстояние точки от начала координат определять в подпрограмме Плз помогите) https://www.cyberforum.ru/ cpp-beginners/ thread216720.html |
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 5
|
|
0 | |
Подскажите по классам в Visual Studio c++ - C++ - Ответ 122499521.12.2010, 17:49. Показов 1549. Ответов 7
Метки (Все метки)
Я новичек(). Проблема такая: допустим есть код, в котором объявлен класс матриц (CMatrix) как шаблон (template <class T>), с методами инициализации, заполения рандомом и перегрузкой операторов. Все ок. Все работает:
template <class T> class CMatrix { T **matr; int m_in, m_im; public: CMatrix(int, int); ~CMatrix(); void Init(); void InitRandom(); CMatrix<T> &operator + (CMatrix <T>&b); CMatrix<T> &operator - (CMatrix <T>&b); }; template <class T> CMatrix<T>::CMatrix(int n, int m) { m_in = n; m_im = m; matr = NULL; Init(); } template <class T> CMatrix<T>::~CMatrix() { } template <class T> void CMatrix<T>::Init() { if (matr == NULL) { matr = new T *[m_in]; for ( int i = 0; i < m_in; i ++) matr[i] = new T[m_im]; } } template <class T> void CMatrix<T>::InitRandom() { srand(time(NULL)); for (int i = 0; i < m_in; i++) for (int j = 0; j < m_im; j++) *(*(matr+i)+ j)= rand() % 10; } template <class T> CMatrix<T> &CMatrix<T>::operator + (CMatrix<T> &b) { CMatrix c(m_in, m_im); for (int i = 0; i < m_in; i++) for (int j = 0; j < m_im; j++) c.matr[i][j] = this->matr[i][j] + b.matr[i][j]; return c; } template <class T> CMatrix<T> &CMatrix<T>::operator - (CMatrix <T>&b) { CMatrix c(m_in, m_im); for (int i = 0; i < m_in; i++) for (int j = 0; j < m_im; j++) c.matr[i][j] = this->matr[i][j] - b.matr[i][j]; return c; } int main() { CMatrix <int> A(5,5); CMatrix <int> B(5,5); CMatrix <int> C(5,5); A.Init(); B.Init(); C.Init(); A.InitRandom(); B.InitRandom(); C.InitRandom(); C = A + B; return 0; } Но если добавить в проекте класс с++ и переместить объявление класс в header (Matrix.h): template <class T> class CMatrix { T **matr; int m_in, m_im; public: CMatrix(int, int); ~CMatrix(void); void Init(); void InitRandom(); CMatrix<T> &operator + (CMatrix <T>&b); CMatrix<T> &operator - (CMatrix <T>&b); }; А реализцию в cpp файл (Matrix.cpp): template <class T> CMatrix<T>::CMatrix(int n, int m) { m_in = n; m_im = m; matr = NULL; Init(); } template <class T> CMatrix<T>::~CMatrix(void) { } template <class T> void CMatrix<T>::Init() { if (matr == NULL) { matr = new T *[m_in]; for ( int i = 0; i < m_in; i ++) matr[i] = new T[m_im]; } } template <class T> void CMatrix<T>::InitRandom() { srand(time(NULL)); for (int i = 0; i < m_in; i++) for (int j = 0; j < m_im; j++) *(*(matr+i)+ j)= rand() % 10; } template <class T> CMatrix<T> &CMatrix<T>::operator + (CMatrix<T> &b) { CMatrix c(m_in, m_im); for (int i = 0; i < m_in; i++) for (int j = 0; j < m_im; j++) c.matr[i][j] = this->matr[i][j] + b.matr[i][j]; return c; } template <class T> CMatrix<T> &CMatrix<T>::operator - (CMatrix <T>&b) { CMatrix c(m_in, m_im); for (int i = 0; i < m_in; i++) for (int j = 0; j < m_im; j++) c.matr[i][j] = this->matr[i][j] - b.matr[i][j]; return c; } То в основной программе: #include "Matrix.h" int main() { CMatrix <int> A(5,5); CMatrix <int> B(5,5); CMatrix <int> C(5,5); A.Init(); B.Init(); C.Init(); A.InitRandom(); B.InitRandom(); C.InitRandom(); C = A + B; return 0; } не компилируется с ошибкой error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall CMatrix<int>::~CMatrix<int>(void)" (??1?$CMatrix@H@@QAE@XZ) в функции _wmain error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall CMatrix<int>::CMatrix<int>(int,int)" (??0?$CMatrix@H@@QAE@HH@Z) в функции _wmain Ошибка с констуктором и деструктором (как я догадываюсь). Если кто знает в чем проблема, подсакажите пжлста. Пробовал пример с msdn шаблона (работает , если одним файлом) также раскидать в заголовочный файл и cpp, в основной программе создать экзепляр, такая же ошибка. Вернуться к обсуждению: Подскажите по классам в Visual Studio c++ C++
0
|
21.12.2010, 17:49 | |
Готовые ответы и решения:
7
Visual Studio перестал показывать дополнения к классам Проблема с работой в Visual Studio, я новичок, подскажите) Ребяята подскажите, у меня вопро по Visual studio Что лучше Visual Studio или Builder C++ подскажите? |
21.12.2010, 17:49 | |
21.12.2010, 17:49 | |
Помогаю со студенческими работами здесь
0
Замена Visual Studio 2015: подскажите, какие есть варианты Люди подскажите какой Microsoft Visual Studio 2010 вы используете? В коде возникли ошибки при переходе с Visual studio 2013 на Visual studio 2017 Имеются ли отличия в компиляторах у сред разработки Visual Studio 2006 и Visual Studio 2015 ? |