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

Макрос который создает класс - C++

Восстановить пароль Регистрация
 
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.07.2015, 15:57     Макрос который создает класс #1
Создал макрос который создает класс, но почему то он не работает, инициализация класса не происходит????
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
#include <iostream>
using std::cout;
 
//создадим свой макрос
#define MY_MACROS(a, b) \
    class a \
        {\
        public:\
        int k;\
        a(int k_=100):k(k_){}\
};\
    class b\
{public:\
int k;\
    b(int k_=111):k(k_){}\
};
 
int main()
{
 
    cout <<"start\r\n";
 
    MY_MACROS(cl,bb);
 
    cl obj(10);
    bb obj1(11);
    cout <<"obj.k= "<<obj.k+"\r\n";
    cout <<"obj1.k= "<<obj1.k+"\r\n";
 
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2015, 15:57     Макрос который создает класс
Посмотрите здесь:

Класс который рисует на экране звезду C++
написать фрагмент программы на языке С + +, который получает у пользователя путь и имя файла и создает его... C++
Класс, который невозможно наследовать C++
C++ Написать класс, который создает и выводит массив
Класс, полиморфизм (Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и вывести результат) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hoggy
5225 / 2116 / 403
Регистрация: 15.11.2014
Сообщений: 4,801
Завершенные тесты: 1
10.07.2015, 16:37     Макрос который создает класс #2
лекарство:

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
#include <iostream>
using std::cout;
 
//создадим свой макрос
#define MY_MACROS(a, b) \
    class a \
        {\
        public:\
        int k;\
        a(int k_=100):k(k_){}\
};\
    class b\
{public:\
int k;\
    b(int k_=111):k(k_){}\
}
 
int main()
{
 
    cout <<"start\r\n";
 
    MY_MACROS(cl,bb);
 
    cl obj(10);
    bb obj1(11);
    cout <<"obj.k= "<<obj.k << "\n";
    cout <<"obj1.k= "<<obj1.k <<"\n";
 
 
    return 0;
}
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.07.2015, 18:32  [ТС]     Макрос который создает класс #3
Цитата Сообщение от hoggy Посмотреть сообщение
лекарство:
А что ты изменил? Ты вроде ниче не изменил, я щас пробую у меня и мой старый код работать начал вроде хз. что за глюк

нет мой не работает

Добавлено через 3 минуты
hoggy, а ясно в выводе там ошибка
Evg
11.07.2015, 11:31
  #4

Не по теме:

Вместо "\r\n" лучше используй std::endl. Его смысл в том, чтобы не заморачиваться вопросами, как на данной системе правильно делать перевод строки

-=ЮрА=-
11.07.2015, 11:36
  #5

Не по теме:

Цитата Сообщение от ninja2 Посмотреть сообщение
А что ты изменил? Ты вроде ниче не изменил,
- точку с запятой он убрал
Цитата Сообщение от ninja2 Посмотреть сообщение
b(int k_=111):k(k_){}\
};

hoggy
5225 / 2116 / 403
Регистрация: 15.11.2014
Сообщений: 4,801
Завершенные тесты: 1
11.07.2015, 12:06     Макрос который создает класс #6
Цитата Сообщение от Evg Посмотреть сообщение
Вместо "\r\n" лучше используй std::endl. Его смысл в том, чтобы не заморачиваться вопросами, как на данной системе правильно делать перевод строки
можно просто '\n'.
это стандартно (кросс-платформенно)

std::endl отличается только тем, что сбрасывает буфер потока.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
11.07.2015, 14:26  [ТС]     Макрос который создает класс #7
Цитата Сообщение от Evg Посмотреть сообщение
Вместо "\r\n" лучше используй std::endl. Его смысл в том, чтобы не заморачиваться вопросами, как на данной системе правильно делать перевод строки
в мфс нету iostream, то сразу чтобы привыкать "\r\n" писать.

Добавлено через 1 минуту
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- точку с запятой он убрал
нет он в cout добавил << вместо +
было так: cout <<"obj.k= "<<obj.k+"\r\n";
стало так: cout <<"obj.k= "<<obj.k<<"\r\n";
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,015
Записей в блоге: 10
Завершенные тесты: 1
11.07.2015, 15:19     Макрос который создает класс #8
Цитата Сообщение от ninja2 Посмотреть сообщение
в мфс нету iostream
А cout тогда там откуда?
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
11.07.2015, 15:33  [ТС]     Макрос который создает класс #9
Цитата Сообщение от castaway Посмотреть сообщение
А cout тогда там откуда?
ОН В main добавил, макрос правильно написан
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,015
Записей в блоге: 10
Завершенные тесты: 1
11.07.2015, 15:43     Макрос который создает класс #10
Цитата Сообщение от ninja2 Посмотреть сообщение
ОН В main добавил, макрос правильно написан
Я не про макрос говорил. Кто ОН, и что ОН и куда добавил?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2015, 16:43     Макрос который создает класс
Еще ссылки по теме:

C++ Добавить в строковый класс функцию, которая создает строку, содержащую пересечение двух строк
C++ Макрос, который будет вычислять среднее из трех чисел
C++ Макрос, который принимает два значения (a, b) и возвращает строку "ab"

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

Или воспользуйтесь поиском по форуму:
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
11.07.2015, 16:43  [ТС]     Макрос который создает класс #11
Цитата Сообщение от castaway Посмотреть сообщение
Я не про макрос говорил. Кто ОН, и что ОН и куда добавил?
то я попутал. cout там вроде ниче вывести нельзя
Yandex
Объявления
11.07.2015, 16:43     Макрос который создает класс
Ответ Создать тему
Опции темы

Текущее время: 21:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru