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

Нужно нормально подключить класс

07.12.2018, 17:22. Показов 1467. Ответов 3

Студворк — интернет-сервис помощи студентам
Я недавно начал использовать с++, раньше работал на с#. По привычке хотел создать класс в Team Explorer VS2017, но столкнулся с тем что из другого .сpp файла его просто не видно. Тогда я перенес код непосредственно в основной cpp файл, его стало видно, но работать с ним нельзя. Помогите нормально его подключить и если возможно рассказать как его подключать из отдельного cpp файла. Ниже привожу код класса и метода main.
Класс
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
class Autorization
{
private:
    int rights = 0;
 
public:
    Autorization()
    {
        Console::WriteLine("Hello input your login: ");
        ifstream login("AutorizationBase.txt");
        string userInput = "";
        for (int i = 0; i < 3; i++)
        {
            cin >> userInput;
            char buff[50];
            while (!login.eof())
            {
                login.getline(buff, 50);
                if (userInput == "admin")
                {
                    rights = 10;
                }
                if (buff == userInput)
                {
                    rights = 1;
                }
                else
                {
                    Console::WriteLine("Login incorrect, you have {0} tries", 3 - i);
                }
            }
        }
        login.close();
        Environment::Exit(1);
    }
    int Rights()
    {
        return rights;
    }
Основной код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "pch.h"
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <conio.h>
#include <stdio.h>
#include <cstring>
#include <stdlib.h>
 
 
using namespace System;
using namespace std;
 
int main()
{
    Console::Title = "Gun catalogue";
    Autorization *verifying = new Autorization();   
    int right = *verifying->Rights;
    
}
P.S. Список ошибок которые выдает среда
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка C2065 Autorization: необъявленный идентификатор GunShop d:\d in\program\vs work\study\opi\gunshop\gunshop\gunshop.c pp 19
Ошибка C2061 синтаксическая ошибка: идентификатор "Autorization" GunShop d:\d in\program\vs work\study\opi\gunshop\gunshop\gunshop.c pp 19
Ошибка C2065 verifying: необъявленный идентификатор GunShop d:\d in\program\vs work\study\opi\gunshop\gunshop\gunshop.c pp 19
Ошибка C2065 verifying: необъявленный идентификатор GunShop d:\d in\program\vs work\study\opi\gunshop\gunshop\gunshop.c pp 20
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2018, 17:22
Ответы с готовыми решениями:

Как подключить класс Object у Visual Studio?
Доброе время суток! Хочу создать обьект с помощью класса Object на VS 2012. С начало я зоздавал пустые проекты и вних проблем не было то...

Как к проекту подключить свой класс
Здравствуйте. Объясните мне не учёному, как в Windows Forms к проекту подключить свой класс. Уже столько пересмотрел, а вменяемого не...

Решето Эратосфена, подключить класс к Форме и вывести в TextBox
Сам класс using namespace System; public ref class Eratosphen { private: array &lt;int&gt; ^array1; int n; public: ...

3
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18304 / 14228 / 5368
Регистрация: 17.03.2014
Сообщений: 28,901
Записей в блоге: 1
07.12.2018, 17:54
srs, в C++ объявления делаются в заголовочных файлах (*.h, *.hpp), а в *.cpp пишется реализация. Там где нужно использовать объявления делаются нужные #include-ы.

P.S. Я бы не стал смешивать разные способы ввода/вывода. Лучше выбрать что-то одно. Или .NET методы (и типы) или родные методы C++/STL.
1
0 / 0 / 0
Регистрация: 25.07.2016
Сообщений: 52
07.12.2018, 19:26  [ТС]
Т.е. как я понял поля пишутся в .h а все методы в .cpp. После в надо просто подключить #include "" в основном файле?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18304 / 14228 / 5368
Регистрация: 17.03.2014
Сообщений: 28,901
Записей в блоге: 1
07.12.2018, 19:50
Лучший ответ Сообщение было отмечено srs как решение

Решение

srs, не совсем так. В h файлах объявление, в cpp файлах реализация. В C# между ними разницы нет. Хотя можно вспомнить про интерфейсы. Там идея похожая.

Насчет include ты верно понял.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2018, 19:50
Помогаю со студенческими работами здесь

Нужно подключить void Draw к проекту.
Я в проекте использую OpenGl. Мне нужно подключить void Draw к проекту. void Draw(){//функция которую надо подключить ...

Не компилируется файл. Не могу нормально подключить boost
Помогите, не могу подключить boost. Скачал последнюю версию на офф.сайте. Запустил boostrap (он все откомпилил и закрылся) проставил пути в...

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

IntelliJ IDEA Не могу нормально подключить библиотеку
Пытаюсь подключить https://github.com/sirthias/parboiled эту библиотеку. Сорцы скачал, добавил саму библиотеку в Project Structure везде...

Не могу нормально подключить библиотеку ASP.Net WebForms
Написал библиотеку классов для работы с бд, далее разработал ASP.Net WebForms приложение. Пришлось формы использовать из-за XP-шного...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
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 существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru