Форум программистов, компьютерный форум CyberForum.ru

#define catalog - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Кто сколько учил C++ до начала коммерческой разработки? http://www.cyberforum.ru/cpp-beginners/thread1000798.html
Я еще не занимаюсь коммерческой разработкой и учу C++ второй год. Некоторые знакомые пишут, что 7-8 лет учили, поэтому интересно узнать, кто сколько учился, прежде чем начал на этом зарабатывать
C++ Массивы Помогите, не могу сообразить. У меня есть массив станков в количестве 6-ти. Каждый станок обрабатывает по одной заготовки одновременно. Каждая заготовка имеет свои характеристики(длина, ширина, высота). При вводе характеристик заготовки выполняются определённые формулы. Так вот, мои заготовки поступают непрерывно к станкам. Я не могу понять, допустим мы ввели для шести заготовок характеристики, и... http://www.cyberforum.ru/cpp-beginners/thread1000796.html
C++ Очень нужна допомога нужно создать блок схему
Ребята очень нужна ваша помощь... нужно создать блок-схему к програме... помогите кто может. #include "stdafx.h" #include <iostream> using namespace std; //Виводить на екран вектор void out(int n, int * vec) { for(int j = 0; j < n; j++) cout<<vec<<" ";
C++ прошу исправить код)
#include <iostream> #include <locale> #include <ctime> using namespace std; int main() { std::locale::global(std::locale("")); int Arr;
C++ Описать класс «комната» http://www.cyberforum.ru/cpp-beginners/thread1000765.html
1) Описать класс «комната», содержащий сведения о метраже, высоте потолков и количестве окон. Предусмотреть инициализацию с проверкой допустимости значений полей. В случае недопустимых значений полей выбрасываются исключения. Описать методы вычисления площади и объема комнаты и свойства для получения состояния объекта. Написать программу, демонстрирующую все разработанные элементы класса. ...
C++ getch Недавно начал изучать си++. Что-то написал, не знаю по какой причине не компилирует. Прошу помочь. Думаю проблема где-то в 12 строке. Использую 2 компилятора ДЕВСИ++ и ВС 6.0. ДЕВСИ++ выдает ошибку:"исходный файл не откомпилирован". ВС 6.0 компилирует и при вводе какого-либо символа выдает ошибку. Если нажать после компиляции сразу на Эскейт(код=27), то выход осуществляется без ошибок. p.s.... подробнее

Показать сообщение отдельно
nefton
44 / 20 / 5
Регистрация: 28.02.2013
Сообщений: 187
07.11.2013, 20:43  [ТС]     #define catalog
Цитата Сообщение от Raali Посмотреть сообщение
сдается мне нужно использовать относительные пути
Это решит проблему переноса всего проекта в другую папку, но не проблему реорганизации.

Если я задумал сделать один глобальный класс включающий в себя экземпляры тех классов, которых я хочу обьединить и скрыть чтоб не мешали в дальнейшей разработке...

Да, скажут так не делается. классы должны както наследоватся. Но как в данном конкретном случае поступить правильно? Чтоб потом было минимум проблем.

Добавлено через 1 час 16 минут
Итак. решение найдено. это не #define

как думаете что выведет код
C++
1
2
3
4
5
6
#define a "10"
#define b a##"-8"
#undef a
#define a "30"
 
cout<<"b= "<<b<<endl;
выводит "30-8". Вот так то. Никакой вложенности или рекурсии тут не получится

Решение вижу в 2 пунктах.
1. Условится держать папку "Символы_для_распознавания_ника" рядом с файлом "распознавальшик_ника.h"
2. В конструктор ввести аргумент
C++
1
char* dirrectory_of_object
Тогда распознавальшик
C++
1
2
3
4
5
6
7
8
9
10
11
class Raspoznavatel_nika{
   public:
      Raspoznavatel_nika(char* catalog);
}
Raspoznavatel_nika::Raspoznavatel_nika(char* catalog){
    char put_k_failu[255];
    for (int i=0; i<=10; i++){ 
       sprintf(put_k_failu, "%s/Символы_для_распознавания_ника/%d.png", catalog, i);
       тут читаем наш символ в память
    }
}
Вызов из main:
C++
1
2
#include "Обьекты/Распознаватель_ника/Распознаватель_ника.h"
Raspoznavatel_nika my_raspoznavatel_nika("Обьекты/Распознаватель_ника");
Теперь мы решили создать более глобальный класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Raspoznavatel_vsego_stola{
   public:
      Raspoznavatel_vsego_stola(char* catalog);
      Raspoznavatel_nika my_raspoznavatel_nika;
 
}
 
Raspoznavatel_vsego_stola::Raspoznavatel_vsego_stola(char* directory){
      char buff[255];
      sprintf(buff, "%s/Распознаватель_ника", directory);
      my_raspoznavatel_nika.Raspoznavatel_nika(buff);
}
вызов с main

C++
1
2
#include "Обьекты/Распознаватель_всего_стола/Распознаватель_всего_стола.h"
Raspoznavatel_vsego_stola my_raspoznavatel_vsego_stola("Обьекты/Распознаватель_всего_стола");
И оп-ля! в результате глобализации я не трогаю файл распознаватель_ника.h !!! что и требовалось

Добавлено через 1 час 33 минуты
Маленькая поправка

Теперь мы решили создать более глобальный класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Raspoznavatel_vsego_stola{
   public:
      Raspoznavatel_vsego_stola(char* catalog);
      Raspoznavatel_nika* my_raspoznavatel_nika;
 
}
 
Raspoznavatel_vsego_stola::Raspoznavatel_vsego_stola(char* directory){
      char buff[255];
      sprintf(buff, "%s/Распознаватель_ника", directory);
      my_raspoznavatel_nika = new Raspoznavatel_nika(buff);
}
вызов с main

C++
1
2
3
#include "Обьекты/Распознаватель_всего_стола/Распознаватель_всего_стола.h"
Raspoznavatel_vsego_stola my_raspoznavatel_vsego_stola("Обьекты/Распознаватель_всего_стола");
cout<<my_raspoznavatel_vsego_stola.my_raspoznavatel_nika->такаято_функция_распознавателя_ников();
 
Текущее время: 11:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru