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

Дружественные классы - C++

Восстановить пароль Регистрация
 
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
19.03.2013, 23:22     Дружественные классы #1
Есть два класса. первый - основной, в нем все нужные поля. второй, в нем должен быть некий метот который должен использовать поле основного класса. как ето сделать? если можно наведите простой пример с описанием двух класов(первый - поля, второй - метод), и созданием обьекта первого класса, и вызовом метода второго класса для созданого обьекта(както так).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 23:22     Дружественные классы
Посмотрите здесь:

C++ Классы.Дружественные функции
C++ Дружественные функции и классы
Дружественные классы C++
Дружественные классы C++
Дружественные классы. C++
Дружественные классы эллипс и круг C++
Дружественные функции и классы C++
Дружественные перегрузки операторов и дружественные классы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Why so seriouS
 Аватар для Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
19.03.2013, 23:26     Дружественные классы #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
#include <iostream.h>
 
class A
{
   int a;   
public:
   A(){a = 2;}
   friend class B;
};
 
class B
{
public:
      void Show(A);
};
 
void B::Show(A Obj)
{
     cout<<Obj.a;
 }
 
int main()
{
    A a;
    B b;
    b.Show(a);
    system("pause");
    return 0;
}
Basill
 Аватар для Basill
40 / 40 / 13
Регистрация: 16.02.2013
Сообщений: 197
19.03.2013, 23:28     Дружественные классы #3
Цитата Сообщение от ozzy_b Посмотреть сообщение
Есть два класса. первый - основной, в нем все нужные поля. второй, в нем должен быть некий метот который должен использовать поле основного класса. как ето сделать? если можно наведите простой пример с описанием двух класов(первый - поля, второй - метод), и созданием обьекта первого класса, и вызовом метода второго класса для созданого обьекта(както так).
Вот есть задача на классовое наследование может пригодится.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <conio.h>
#include <clocale>
#include <math.h>
using namespace std;
 
class A
{
public:
 
int a,x;
 
A (int af, int xf)
{
a=af;
x=xf;
};
int get_A()
{
    return a*x;
};
 
~A()
{
};
};
class B: public A
{
public:
int b,xf,af;
 
B (int bf, int xf,int af): A (af, xf)
{
b=bf;
};
 
int get_B()
{
    return get_A()*b*x;
};
 
~B()
{
};
};
 
class C: public B
{
public:
int c,bf,xf;
 
C (int af, int xf, int bf, int cf): B(bf,xf,af)
{
c=cf;
};
 
int get_C()
{
    return get_B() - c*a*x*x;
};
 
~C()
{
};
};
 
int main()
{int a,b,c,x;
    setlocale (LC_ALL, "Russian");
    cout << "Введите a= ";
    cin >> a;
    cout << "Введите b= ";
    cin >> b;
    cout << "Введите c= ";
    cin >> c;
    cout << "Введите x= ";
    cin >> x;
 
    A obja (a,x);
    B objb (a,x,b);
    C objc (a,x,b,c);
    cout<<"a*x = "<<obja.A::get_A()<<endl;
    cout<<"a*x*b*x = "<<objb.B::get_B()<<endl;
    cout<<"a*x*b*x - c*a*x*x = "<<objc.C::get_C()<<endl;
    objc.A::~A();
    objc.B::~B();
    objc.C::~C();
    system("pause");
    return 0;
}
Yandex
Объявления
19.03.2013, 23:28     Дружественные классы
Ответ Создать тему
Опции темы

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