11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Передать переменную из класса в класс16.06.2016, 11:08. Показов 12742. Ответов 23
Метки нет (Все метки)
Добрый день, следующая задача передать переменную из класса А в класс В
class_a.h
0
|
16.06.2016, 11:08 | |
Ответы с готовыми решениями:
23
Как передать в переменную класс-наследник? Нужно из класса наследника передать параметры в класс родителя Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? Как получить private переменную класса, функцей членом другого класса |
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
|
||||||
16.06.2016, 11:11 | 2 | |||||
1
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
16.06.2016, 11:18 | 3 | |||||
0
|
11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
||||||
17.06.2016, 12:25 [ТС] | 4 | |||||
Вроде получилось вот таким способом:
0
|
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
|
|
17.06.2016, 12:54 | 5 |
Сомнительное решение.
1
|
11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
|
17.06.2016, 13:05 [ТС] | 6 |
Согласна, к тому же с символьным массивом этот вариант не работает, думаю дальше....
0
|
11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
|||||||||||
17.06.2016, 13:50 [ТС] | 8 | ||||||||||
Ничего то не получается....
2 ошибки: - error: 'buffer' was not declared in this scope - no matching function for call to 'class_A::return_x()' Нельзя напрямую из класса в класс передать значение переменной? Добавлено через 7 минут - error: 'buffer' was not declared in this scope - по этой ошибке понятно, объявление необходимо делать так:
incompatible types in assignment of 'const char [10]' to 'char [128]'
0
|
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
|
||||||
17.06.2016, 14:01 | 9 | |||||
Если ты делаешь класс A внутри класса B, то как его инициализировать? Не смешивай их, показали же как делать передачу.
Для древних строк только strcpy():
1
|
7 / 7 / 2
Регистрация: 28.04.2015
Сообщений: 21
|
|||||||||||
17.06.2016, 14:18 | 10 | ||||||||||
Работает для любых типов данных.
P.S. Чтоб использовать другой тип, нужно в <> его указать при создании обоих обьектов. Для int будет так:
0
|
11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
|||||||||||
17.06.2016, 14:48 [ТС] | 11 | ||||||||||
nmcf, вот это я и понимаю, что не надо смешивать...
Как раз не понимаю как мне реализовать для моего случая.
Вот так заработало, знаю что это не правильно(ТАК ДЕЛАТЬ НЕЛЬЗЯ), но как правильно пока не поняла....
0
|
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
|
||||||
17.06.2016, 15:23 | 12 | |||||
1
|
11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
||||||||||||||||
17.06.2016, 16:42 [ТС] | 13 | |||||||||||||||
Здесь видимо должна быть переменная?
Добавлено через 25 минут В любом случае, спасибо. Твой Вариант работает. Но в моей реализации это не подойдет. Ты присваиваешь значение классу А в функции main() , а мне необходимо получить именно в класс. Так сказать на лету. Может код поможет понять что у меня не получается: mythread.cpp получает данные из сокета: recievedBytes = recv( clientSocket, buffer, BUFFER_SIZE - 1, 0 );
На qt внимание не обращать. Код сервера рабочий, кроме того что не могу никак передать переменную...
0
|
7 / 7 / 2
Регистрация: 28.04.2015
Сообщений: 21
|
||||||
17.06.2016, 16:59 | 14 | |||||
Я вот так и не понял что вам нужно. Просто передачу строки из класса в класс?
1
|
11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
|
17.06.2016, 17:01 [ТС] | 15 |
0
|
7 / 7 / 2
Регистрация: 28.04.2015
Сообщений: 21
|
|
17.06.2016, 17:05 | 16 |
Дак а что вам тогда мешает просто взять и в конструкторе класса B создать обьект класса A и забрать от туда строку?
1
|
11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
|
17.06.2016, 17:25 [ТС] | 17 |
0
|
11 / 11 / 3
Регистрация: 06.08.2011
Сообщений: 208
|
||||||
17.06.2016, 17:31 [ТС] | 18 | |||||
Terrr, переписала немного Ваш код под свои запросы, и в итоге пришла к тому же с чего и начинала.
Код отработал, все замечательно, только вот пришла к тому с чего и начались мои проблемы в переменную strB, пришел мусор, а не знаение переменной...
0
|
7 / 7 / 2
Регистрация: 28.04.2015
Сообщений: 21
|
|||||||||||
17.06.2016, 17:58 | 19 | ||||||||||
Сообщение было отмечено Ирина197708 как решение
Решение
Нельзя обьявлять статические массивы без указания размера, т.е. это не верно:
Вот рабочий код:
1
|
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
|
|
17.06.2016, 18:00 | 20 |
А что мешает вообще не использовать классы в таком случае? A должен быть внешним, если это "класс-константа", то в нём нет смысла. Также как нет смысла в полях из секции public - это ничем не отличается от структур.
0
|
17.06.2016, 18:00 | |
17.06.2016, 18:00 | |
Помогаю со студенческими работами здесь
20
Реализовать подсчет количества объектов класса, используя статическую переменную-член класса Есть два класса необходимо передать из одного класса информацию в другую Конструктор класса не дает инициализировать переменную класса В конструктор класса передать объект этого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |