Что я хочу научиться делать, так это передавать значения из одного класса
в другой. имеется, к примеру, 2 класса. В втором классе есть переменная,
типа public, int Counter. К примеру, я хочу находясь в первом классе
присвоить переменной второго класса "Counter" какое-то значение, допустим
10. Как правильно это сделать?????? HELP!
CClass1
...
CClass2
public:
int Counter;
...
И самое важное, так покажите правильный сиснаксис, т.е. на примере.
Все должно быть на самом деле очень просто, но у меня не получается. :(
Заранее всем Спасибо!
PS. Только чур не говорить, что "int Counter" можно вынести за пределы класса.
Здравствуйте MammothBY, 19.04.2001 19:13:58 вы писали:
> > Всем привет! > > Что я хочу научиться делать, так это передавать значения из одного класса >в другой. имеется, к примеру, 2 класса. В втором классе есть переменная, >типа public, int Counter. К примеру, я хочу находясь в первом классе >присвоить переменной второго класса "Counter" какое-то значение, допустим >10. Как правильно это сделать?????? HELP! > >CClass1 > ... > >CClass2 > public: > int Counter; > ... > >И самое важное, так покажите правильный сиснаксис, т.е. на примере. >Все должно быть на самом деле очень просто, но у меня не получается. :( >Заранее всем Спасибо! > >PS. Только чур не говорить, что "int Counter" можно вынести за пределы класса. >
/*
!!!
To Создателям сайта: явно не хватает раздела "просто C++" :)
*/
class B
{
public:
int b;
}
это еще не значит что у тебя есть объект это только тип
поэтому у тебя должны быть переменные обоих типов.
...
A a;
B b;
a.a=1;
b.b=1;
...
или
пусть у тебя есть:
class A
{
public:
int a;
}
class B
{
public:
void Init(int i){b=i;}
void Init(class &A a){b=a.a;}
int b;
}
...
A a;
B b;
a.a=1;
b.Init(a.a);
или
b.Init(a);
если что не понятно можеш почитать любую доку по введение в С++
Здравствуйте MammothBY, 21.04.2001 15:46:26 вы писали:
> >>To MammothBY: >>Class2 cl2; >>cl2.Counter=555; >> > > > Спасибо, но это не работает :), я уже и раньше так пробовал.
Так. Первое — если спрашиваешь фигню, не ставь после своего ника
суффикс страны! Чесссс слово — ОБИДНО! Я может тоже из BY!
Второе — у тебя Counter — либо private либо protected.
Либо вынеси его в public, либо сделай Class2 friendом Class1.
Третье — админам, наверное, не мешало бы добавить правила поведения в форуме.
Обычно такие проекты умирают именно из-за таких вопросов.
Четвертое, уважаемый MammothBY, сейчас три человека пытается решить
Вашу проблему. А проблемы то и нет! Нужно почитать книжечку, картинки
посмотреть... Цуть-цуть кодика пописать... Но ни в коем случае нельзя
писать свою первую же проблему с с++ (я так понял — это первая) в этот
форум.. Прошу прощения, если я не прав..
>> Спасибо, но это не работает :), я уже и раньше так пробовал. > >Так. Первое — если спрашиваешь фигню, не ставь после своего ника >суффикс страны! Чесссс слово — ОБИДНО! Я может тоже из BY!
а это где ? ;)
>Второе — у тебя Counter — либо private либо protected. >Либо вынеси его в public, либо сделай Class2 friendом Class1. > >Третье — админам, наверное, не мешало бы добавить правила поведения в форуме. >Обычно такие проекты умирают именно из-за таких вопросов.
точно-точно специально для тебя VLK создадут MFC-4-EL!TE форум ;)
>Четвертое, уважаемый MammothBY, сейчас три человека пытается решить >Вашу проблему. А проблемы то и нет! Нужно почитать книжечку, картинки >посмотреть... Цуть-цуть кодика пописать... Но ни в коем случае нельзя >писать свою первую же проблему с с++ (я так понял — это первая) в этот >форум.. Прошу прощения, если я не прав..
вот это точно — нам нужен "C++" форум...
>С наилучшими, >Владимир.
Здравствуйте IT, 20.04.2001 07:48:30 вы писали:
>>/* >>!!! >>To Создателям сайта: явно не хватает раздела "просто C++" :) >>*/ > >// Хочешь быть ведущим? Я по старой дружбе могу поговорить с кем надо :)
Шутки шутить изволяете :-)
Я же знаю только то, что использую. Что же мне тогда придется после каждого вопроса применять тему на практике?
Здравствуйте VLK, 22.04.2001 02:58:23 вы писали:
>> Спасибо, но это не работает :), я уже и раньше так пробовал. > >Так. Первое — если спрашиваешь фигню, не ставь после своего ника >суффикс страны! Чесссс слово — ОБИДНО! Я может тоже из BY!
ПАРЕНЬ, ВО ПЕРВЫХ Я ОЧЕНЬ ПОСТАРАЮСЬ ТЕБЯ ЗДЕСЬ НЕ ОБМАТЕРИТЬ. ВО ВТОРЫХ
ТЫ ЧТО ЗДЕСЬ САМЫМ УМНЫЙ, ДА? ЕСЛИ САМЫЙ УМНЫЙ — ТО ЧТО ТЫ ЗДЕСЬ ДЕЛАЕШЬ??? В
ТРЕТЬИХ МНЕ АБСОЛЮТНО НАПЛЕВАТЬ, ОТКУДА ТЫ, ЭТО МОЕ ЛИЧНОЕ ДЕЛО КАКОЙ НИК НОСИТЬ.
И ЕЩЕ.... ЕСЛИ ТЫ ТАКОЙ УМНЫЙ, ЧЕГО ТЫ ЭТО ЕЩЕ В BY ТО СИДИШЬ? А?? Я ВОТ УЖЕ
В КАНАДЕ, А ТЫ ГДЕ? ПРАВИЛЬНО! ТЫ И САМ ЗНАЕШЬ ОТВЕТ НА БУКВУ Ж.
>Второе — у тебя Counter — либо private либо protected. >Либо вынеси его в public, либо сделай Class2 friendом Class1.
У ТЕБЯ ГЛАЗА ГДЕ? ПРАВИЛЬНО — В Ж@@Е! В СВОЕМ ПРИМЕРЕ Я УКАЗЫВАЛ, ЧТО "PUBLIC",
ТАК ЧТО НАДО ВНИМАТЕЛЬНО СМОТРЕТЬ, ДУМАТЬ, А ПОТОМ ОТВЕЧАТЬ.
>Третье — админам, наверное, не мешало бы добавить правила поведения в форуме. >Обычно такие проекты умирают именно из-за таких вопросов.
ПРОЕКТ ЭТОТ ДЕЙСТВИТЕЛЬНО МНЕ ПО ДУШЕ. ВСЕ ЗДЕСЬ СДЕЛАННО ЗАМЕЧАТЕЛЬНО И Я
ИСКРЕННЕ ХОТЕЛ БЫ ЧТОБЫ ЭТОТ САЙТ СТАЛ ЛЮБИМЫМ МЕСТОМ ПРОГРАММИСТОВ. НО ВОТ ТОЛЬКО
ДЕЙСТВИТЕЛЬНО ЕСТЬ ТАКИЕ "УМНЫЕ" ЛЮДИ, КОТОРЫЕ НИЧЕГО НЕ ЗНАЯ ПЫТАЮТСЯ ЧТО ТО ИЗ
СЕБЯ ПОКАЗАТЬ, ВСЕМ ВОКРУГ ДОКАЗАТЬ КАКИЕ ОНИ УМНЫЕ.
>Четвертое, уважаемый MammothBY, сейчас три человека пытается решить >Вашу проблему.
БОЛЬШОЕ ИМ ЗА ЭТО СПАСИБО. ЕСЛИ Я СМОГУ ИМ В ДАЛЬНЕЙШЕМ ЧЕМ-ТО ПОМОЧЬ, Я
С УДОВОЛЬСТВИЕМ ЭТО СДЕЛАЮ.
А проблемы то и нет! Нужно почитать книжечку, картинки >посмотреть... Цуть-цуть кодика пописать...
ПАРЕНЬ У МЕНЯ УЖЕ СТАЖ ДОВОЛЬНО ПРИЛИЧНЫЙ, И КОДИКА КАК ТЫ ВЫРАЖАЕШЬСЯ
Я УЖЕ МНОГО ЛЕТ ПИШУ. Я ПИСАЛ НА BACIS, ASM, С++, VISUAL C++, MFC,... ),
ДОЛГОЕ ВРЕМЯ Я ИСПОЛЬЗОВАЛ SOFTICE, ПОНАЧАЛУ СДЕЛАЛ МНОГО КРЕКОВ, А ЗАТЕМ
ЗНАНИЯ СТАЛ ПРИМЕНЯТЬ В БОЛЕЕ ПРАВИЛЬНОЕ РУСЛО... ДЕЛО НЕ В ЭТОМ, ПРОСТО
МНЕ НИКОГДА НЕ ПРИХОДИЛОСЬ СТАЛКИВАТЬСЯ С ТОЙ ПРОБЛЕМОЙ КОТОРУЮ Я ОПИСАЛ.
И ЭТО ДАЖЕ НЕ ПРОБЛЕММА, Т.К. ЗНАЮ КАК МИНИМУМ 2 СПОСОБА РЕШЕНИЯ
ЕЕ ДРУГИМИ СПОСОБАМИ, НО МНЕ ИМЕННО БЫЛО ИНТЕРЕСНО КАК ПРАВИЛЬНО ОНА РЕШАЕТСЯ.
>Но ни в коем случае нельзя писать свою первую же проблему с с++ (я так понял — это первая) > в этот форум..
МАЛО ТЫ ВООБЩЕ ЧЕГО В ЭТОЙ ЖИЗНИ ПОНИМАЕШЬ. ТЫ ВООБЩЕ ХОТЬ НЕМНОГО СЕРОГО ВЕЩЕСТВА
МОЖЕШЬ НАПРЯЧЬ, ЧТОБЫ ПОДУМАТЬ И ОТВЕТИТЬ — ДЛЯ ЧЕГО ЭТОТ САЙТ СОЗДАВАЛСЯ??? ИЛИ ВСЕ ДОЛЖНЫ
ИСКЛЮЧИТЕЛЬНО ЗАДАВАТЬ УМНЫЕ ВОПРОСЫ И ПРИЧЕМ ОБЯЗАТЕЛЬНО СНАЧАЛА ПОСОВЕТОВАВШИСЬ С ТАК
НАЗЫВАЕМЫМ СЕБЯ ВЛАДИМИРОМ? ТЫ КТО? БОГ ЗДЕСЬ? ХОТЯ ВООБЩЕТО ЗДАЕТСЯ МНЕ ЧТО ТЕБЕ МАЛО
ГОДКОВ ЕЩЕ, КОРОЧЕ ЗЕЛЕНЫЙ ПАЦАН ТЫ ЕЩЕ!!!
> Прошу прощения, если я не прав..
ООООО! ТЫ ДАЖЕ И ПРЕДСТАВИТЬ СЕБЕ НЕ МОЖЕШЬ КАК ТЫ НЕ ПРАВ. СВОЙ ФЛЕЙМ ТЫ МОГ НЕ СЮДА
ВЫЛИВАТЬ, А НАПИСАТЬ ЛИЧНО МНЕ ИЛИ АДМИНУ, ЧТО ТЕБЯ НЕ УСТРАЕВАЕТ. И НЕ НАДО ЗДЕСЬ БОЛЬШЕ ОТВЕЧАТЬ
ОТВЕЧАТЬ НА ЭТО ПИСЬМО, ВО ИЗБЕЖАНИЕ ДАЛЬНЕЙШЕГО ФЛЕЙМА. ВСЕ КОММЕНТАРИИ ЛУЧШЕ ПРИСЫЛАТЬ НА
"MAMMOTH.BY@USA.NET".
ЗАРАНЕЕ У ВСЕХ ЧИТАТЕЛЕЙ ЭТОГО ФОРУМА ПРОЩУ ПОЩЕНИЯ, А ТАКЖЕ У СОЗДАТЕЛЕЙ ЭТОГО САЙТА И
МОДЕРАТОРА ЭТОГО ФОРУМА. ЕЩЕ РАЗ БОЛЬШОЕ ВСЕМ СПАСИБО, КТО ПОСТАРАЛСЯ ОТВЕТИТЬ НА МОЙ ВОПРОС
(P.S. ВЛАДИМИР, ЭТО К ТЕБЕ НЕ ОТНОСИТСЯ)
P.S. ВЛАДИМИР, А ТЫ ЗНАЕШЬ ЧТО НА ВСЕ ПРЕДЫДУЩИЕ ВОПРОСЫ В ФОРУМЕ Я МОГУ ЗАПРОСТО ДАТЬ
ПРАВИЛЬНЫЙ ОТВЕТ? НО, Я ЖЕ НЕ МАХАЮ ПАЛЬЦАМИ ВЕЕРОМ И НЕ НЕ ПРЕДЛАГАЮ ВСЕМ КНИЖКИ ПОЧИТАТЬ.
Здравствуйте MammothBY, 23.04.2001 19:48:36 вы писали:
=========== offtopic on:
мой комментарий на этот бардак в разделе "общие группы"->"обсуждение сайта" с темой "по следам топика "How to change variable...". давайте разборки перенесем туда, а?
=========== offtopic off:
>Здравствуйте VLK, 22.04.2001 02:58:23 вы писали: > >>> Спасибо, но это не работает :), я уже и раньше так пробовал.
MammothBY, проблема в том, что вопрос поставлен... ну как бы это сказать?.. не совсем точно. как говориться "в правильном вопросе заключено 90% ответа". очень уж размыто — я никак не смог понять, что же вам надо. а выше процитированный ответ — это как понимать?
"не работает" = "не компилируется" (тогда какая ошибка), или = "не записывает в member-переменную"?
и вообще, почему бы не привести более подробную схему, может быть даже упрощенный кусок кода, который бы проиллюстрировал проблему? а то каждый будет создавать свой тестовый пример и говорить, что все прекрасно работает, а ты будешь отвечать — "пробовал" или "а мне не это надо".
вопросы, которые у меня возникли:
"имеется, к примеру, 2 класса" — ok, хотя описание их в си++-синтаксисе — не помешало бы.
"В втором классе есть переменная, типа public, int Counter." — тоже принято, условимся к тому же, что первый класс — это "класс А", второй — "класс B".
"я хочу находясь в первом классе присвоить переменной второго класса "Counter" какое-то значение" — что значит "находится в классе"? из метода класса А изменить значение переменной в классе В? но судя по описанию — переменная не статическая, значит предварительно надо создать объект класса В; то же самое по поводу метода класса А — он предполагается нестатическим, значит нужен экземпляр класса. предположим, что оба они -глобальные. как метод класса В получает доступ к элементам объекта класса А — берет глобальный указатель, получает указатель на него в процессе инициализации (конструктор/спецметод?), или этот обект передается непосредственно в этот метод (по ссылке/указателю?)?
>Пожалуйста воспользуйтесь этим кодом для модификации >переменной одного класса, находясь в другом классе. > >Я не могу представить, что у Вас не работало..
Вот этот пример действительно у меня заработал т.к. надо, вобщем я нашел причину
что я делал неправильно в своем коде. Спасибо.
ВСЕМ СПАСИБО, ПРОБЛЕМА РЕШЕНА, TOPIC CLOSED!
>P.S.: Я не мог представить себе, что кого-то так заденет >еще и мое имя... :(
А причем здесь твое имя? Просто у меня после того сообщения было испорчено
настроение на целый вечер, поэтому вот в таком духе ответное письмо и получилось.
PS Ты погорячился, я не сдержался... Вобщем, замяли. Ok?