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

Как сделать общий объект класса в нескольких файлах?

09.12.2017, 12:50. Показов 1298. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня есть три cpp файла:
commands.cpp(класс)
map.cpp(класс)
ConsoleApplication.cpp - main
Мне нужно сделать так, чтобы можно было обращаться к одному и тому же объекту (map obj) и в ConsoleApplication и в commands.cpp

Добавлено через 5 минут
Уже нашел ответ.
В commands.h объявил, что в commands.cpp находится объект map karta;
А в ConsoleApplication.cpp вызываю commands.karta.userx и т.п.

Добавлено через 9 минут
Теперь новая проблема.
Код в commands.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
#include "stdafx.h"
#include "map.h"
#include "commands.h"
#include <iostream>
#include <cstdio>
#include <string>
class commands
{
public:
 
    commands();
    map karta;
    std::string output1, output2, output3, output4, output5, output6, output7, output8;
    int changedStrings = 0, XX,YY;
    bool checkCommand(std::string answer);
    void help();
    void attack(); 
    void use();
    void move();
    void changeCoordinates(int X, int Y);
    ~commands();
};
Что выдает компилятор:

1>c:\users\alleksh_\source\repos\console application2\consoleapplication2\command s.h(13): error C3646: karta: неизвестный спецификатор переопределения
1>c:\users\alleksh_\source\repos\console application2\consoleapplication2\command s.h(13): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.12.2017, 12:50
Ответы с готовыми решениями:

как сделать чтобы объект производного класса сам себя добавлял в список или массив указателей базового класса?
я хотел так, но программа просто падает void Student::add(Base** head) { cout &lt;&lt; &quot;I here&quot; &lt;&lt; endl; this-&gt;setName(); //все...

как сделать объект класса доступным в каждом модуле (cpp файле) ?
для встренных типов это делается с помощью extern.. но когда добавляю туда объект своего класса, то вылазит куча ошибок //файл...

Можно ли создать объект класса с таким же именем как у самого класса?
Можно ли создать объект класса с таким же именем как у самого класса? Ну или как то обойти эту проблему?

2
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
09.12.2017, 13:44
Цитата Сообщение от Alleksh Посмотреть сообщение
Код в commands.h:
Цитата Сообщение от Alleksh Посмотреть сообщение
C++
1
#include "commands.h"
Это зачем?
0
0 / 0 / 1
Регистрация: 09.12.2017
Сообщений: 14
09.12.2017, 14:08  [ТС]
ctrl+c ctrl+v, не заметил.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2017, 14:08
Помогаю со студенческими работами здесь

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого класса): ozenka - объект базового класса, а ves- производного ...

как узнать,является данный объект класса А1 наследником класса А2
Всем привет)есть классы S, A1, A2, B1, B2. Иерархия наследования следующая S - Является родителем для всех классов и он имеет...

Создание статической функции класса, которая принимает экземпляр этого же класса как объект
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...

Как объект некоторого класса сделать доступным для использования в нескольких формах?
Т. е. есть некоторый класс A. И два класса, наследуемых от класса Form, - формы: F1 и F2. Если я создаю объект класса А, т. е. пишу A...

Общий объект для нескольких сессий
Какие способы существуют сделать данные общими для нескольких выполняющихся одновременно сессий?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru