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

Как правильно использовать friend для доступа к экземпляру класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ [C++] Динамическое программирование, задача о рюкзаке http://www.cyberforum.ru/cpp-beginners/thread414146.html
Помогите реализовать задачу о рюкзаке методом динамического программирования
C++ как определить "отмена" или "печать" в PrintDialog1 Подскажите как определить произошло нажатие отмены или печать документа, потому что в обработчике только на закрытие окна, а оно при обоих случаях закрывается, а в возвращаемых параметрах нет об этом... http://www.cyberforum.ru/cpp-beginners/thread414143.html
Регистрация в приложении C++
чуть-чуть помогите, пожалуйста. Ошибок куча, не понимаю как исправить( //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop ...
C++ в линейном массиве
Помогите плиз!!!!! в линейном массиве найти все группы подряд идущих элементов, образующих геометрическую прогрессию.
C++ определить все строки и столбцы матрицы, в которых встречаются одинаковые элементы на с++ http://www.cyberforum.ru/cpp-beginners/thread414123.html
вот само условие Написать программу, которая выполняет операцию над матрицей целых чисел. Матрицу следует размещать в динамической памяти. Размер матрицы указывает пользователь после запуска...
C++ срочно!!! нужна помощь со структурами!!! помогите пожалуйста, нужно в си темпы возрастания продуктивности работы работников в промышленности (1913г.=100%). Года | СССР| США| АНГЛИЯ| ФРАНЦИЯ 1928 | 120 | 137 | 94 |105 1940 | 422 |... подробнее

Показать сообщение отдельно
IcyWind
8 / 8 / 2
Регистрация: 19.09.2011
Сообщений: 272
22.12.2011, 00:04  [ТС]
Vs 2010

Добавлено через 33 секунды
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
91
92
93
94
95
96
97
98
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
class valarray
{
    int *mas;
    int size;
    
 
    /*~valarray()
    {
        delete[] mas;
    }*/
 
public:
    valarray(int n)
    {
        mas = new int[n];
        size =  n;
        for (int i = 0; i<size; ++i)
            mas[i] = rand();
    }
 
    void print()
    {
        //cout<<"\nМассив:\n";
        for(int i = 0; i<size; ++i)
            cout<<'['<<i<<"] = "<<mas[i]<<"\n";
    }
 
    int operator[](int n)
    {
        return mas[n];
    }
    indarray operator[](index t)
    {
        return indarray(*this, t);
    }
};
 
class indarray
{
    valarray &val;
    index &ind;
 
friend class valarray;
friend class index;
 
public:
    indarray(valarray &val_, index &ind_):val(val_), ind(ind_){}
 
    void operator = (valarray valar)
    {
        for(int i = 0; ind.size(); ++i) //тут пишет, что члены недоступны. А очень хочется получить поле size_ через метод size
    }
};
 
 
 
 
class index
{
friend class indarray;  
    int *swapmas ;
    int size_;
public: 
    
    index(int n)
    {
        swapmas = new int(n);
        size_ = n;
        for(int i = 0; i<n; ++i)
        {
            swapmas[i] = n-i;
        }
    }
    int operator[](int i)
    {
        return swapmas[i];
    }
    int size()
    {
        return size_;
    }
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0, "Rus");
    valarray v(10),v1(10);
    index ind(10);
    cout<<"Массив v: \n";
    v.print();
//  v[ind] = v1; // v[ind[i]] = v1[i]
    return 0;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru