Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.94
Alexen
#1

Классы-друзья (использование данных одного класса из другого) - C++

14.11.2008, 14:09. Просмотров 2390. Ответов 5
Метки нет (Все метки)

Зарание спс )))
Я лаймер в С++ но учусь чтоб исправиться. И куда как не к вам обращаться за помощью =) в тяжкие дни свои.
Проблема с классами, везде написано что для того чтоб мона было юзать данные одного класса из другого досточно просто сделать их друзьями, и тут не получается у меня. (Понимаю что элементарно но подскажите почему переменная (y) не видна из класса X)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream.h>
#include <conio.h>
 
 
class X
{
friend class Y;
public:
 X();
void sumXY();
 
private:
 
int sum;
int x;
};
 
class Y
{
 
public:
 Y();
private:
 int y;
};
 
Y::Y(){ y = 2;}
X::X() {x = 2;}
 
 
void X::sumXY()
{
  sum = x+y;
  cout << sum;
}
 
main()
{
 X sum;
 
 sum.sumXY();
 
 
getch();
return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2008, 14:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы-друзья (использование данных одного класса из другого) (C++):

Классы С++, получить доступ из одного класса к элементам другого - C++
Здравствуйте! Объясните пожалуйста, вот имеется у меня два класса,например вот такие: Class A { private: int i; }

Передача данных объекта одного класса , объекту другого - C++
Доброго времени суток. В общем, столкнулся с проблемой передачи данных от одного класса другому. Есть класс NewApp, создаю объект с...

Использование данных одного класса в другом классе - C++
Подскажите как сделать так что бы значения d1,d2 из первого класса можно было использовать во втором классе? #include &quot;stdafx.h&quot; ...

Друзья шаблонного класса. Использование вложенной в класс структуры - C++
Всем привет! Изучаю книгу &quot;Прата С. - Язык программирования С++. Лекции и упражнения&quot;. Разобрал тему шаблоны классов и в заданиях для...

Как переместить из стека одного класса в массив другого класса? - C++
// HW_on.24.11_classStack_SantaClaus.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include...

Объявление объекта одного класса в описании другого класса - C++
Здравствуйте. Почему при объявлении Student s в классе Teacher не возникает ошибки? Ведь такой объект уже существует. И почему при...

5
Xentar
Of Wolf and Man
993 / 188 / 4
Регистрация: 09.07.2008
Сообщений: 1,885
14.11.2008, 14:13 #2
Обшибка №ноль
код программы пишем в теге [ code ], символ '#' на панели инструментов.
Обшибка раз.
Почему не обозначаем значение возвращаемое функциями ?
0
Alexen
14.11.2008, 14:18 #3
[quote=Xentar;72166]Обшибка №ноль
код программы пишем в теге [ code ], символ '#' на панели инструментов.
Сори учту )) первый раз тут.

>>Почему не обозначаем значение возвращаемое функциями ?<<
Там одна функция которая и не должна ни чего возвращать, она просто печатает полученный результат.
Xentar
Of Wolf and Man
993 / 188 / 4
Регистрация: 09.07.2008
Сообщений: 1,885
14.11.2008, 14:23 #4
Посмотри тут:
http://gamedev.gameslife.ru/cpp/cpp_article4_1.html

Добавлено через 1 минуту 20 секунд
я не знаю каким компилятором ты пользуешься.
Но у меня borland C выдает ошибку, когда не ставишьему
Код
void main (void){}
А DEV-C++ требует следующее
Код
int main () {}
Когда функция ничего не возвращает ставишь ей значение void (с англ. - пустота)
Добавлено через 1 минуту 22 секунды
Я еще до этого не дошел
0
XuTPbIu_MuHTAu
Эксперт С++
2226 / 741 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
14.11.2008, 17:04 #5
Alexen, Вы не понимаете,что такое класс. В функции sumXY вы пытаетесь использовать какой-то y. Не удивительно,что ничего не выходит,поскольку нигде не сказано,у какого именно объекта класса Y нужно брать этот самый y. Вообще говоря,там даже не сказано,что эта y объявлена в каком-то классе. Подумайте сами,а если бы у вас было два объекта класса Y : Y1и Y2. У какого из них,по вашему,такой код должен брать y ? в общем,рекоммендую задаться всевозможными такими вот вопросами и довести до ума код.Кстати,использовать разные классы для хранения значений одного типа - неудачно даже для тестовых примеров и изучения конструкций языка.
0
Alexen
14.11.2008, 17:59 #6
Всем спс )) я разобрался !!! тему мона закрывать
14.11.2008, 17:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2008, 17:59
Привет! Вот еще темы с ответами:

Использование в качестве поля класса указатель на объект другого класса - C++
Ошибка в названии - &quot;указателЯ&quot; Вот, пытаюсь освоить ООП (пока только учусь): создаю класс person (человек) и car (модель машины). ...

Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса? - C++
//Щас всё объясню. Так, имеем два класса, в одном я определил функцию-член. Все конструкторы и прочее //опущены для уменьшения кода ...

Использование объекта одного класса при создании нового класса - C++
Добрый вечер. У меня такая проблема. Есть готовый класс L2 - список, на его основе нужно создать дек. Я поступил так: в приватной части...

Функции друзья и классы друзья - C++
Пробую разбираться с друзьями в С++(друзьями -классами и друзьями функциями). Казалось бы все просто: класс/функция описанные в классе с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru