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

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

Войти
Регистрация
Восстановить пароль
 
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 312
Завершенные тесты: 1
#1

переключение "флага" - C++

21.04.2013, 23:25. Просмотров 325. Ответов 5
Метки нет (Все метки)

подскажите пожалуйста, вот есть код, базой клас и производный и есть два метода заполнения масива в базовом класе последовательными числами 0,1,2... и в производном класе метод заполнения случайными числами и в производном есть переменая флаг изначально она 0 когда происходит заполнения случайными числами переменая меняется в состояние 1, что масив заполнен, а мне надо зделать что бы она менялась и когда вызывается метод из базового класа, но мне надо зделать так, не перенося ету переменую в базовый клас, как надо изменить код? ну я понимаю что производный клас копирует методы базового и я когда вызываю в основной програме через производный клас, он(базовый) же всеравно незнает про ету переменую, т.к. ее можно переключить? подскажите что зделать с кодом
вот код
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
#include <iostream> 
#include <algorithm>  
#include <functional>
#include <vector>                                                                
using namespace std;                                                           
class CCube                                                                               
{
public :                                                                                    
    CCube ():x(4),y(4),z(5)                                       
    {}                            
    ~CCube()                                                                  
    {}
    void FillCube ();
    int x,y,z;
    int Mas[4][4][5];
};
class CSecond: public CCube
{
    int mas[80];
public:
    CSecond():flag(0)
    {}
    ~CSecond ()
    {}
    bool flag;
    void RandomShuffle(int x, int n);
};
void CCube::FillCube ()
{ 
    for (int k = 0; k<z;k++)
    {
        for (int i = 0; i<x;i++)
        {
            for( int j =0;j<y;j++)
            {
                Mas[i][j][k]=i*z*y+j*z+k;
            }
        }
    }
    flag=1;
}
void CSecond::RandomShuffle( int a, int n)
{
    const int VECTOR_SIZE=80;
    typedef vector<int> IntVector;
    typedef IntVector::iterator IntVectorIt;
    int g=0;
    IntVector Numbers(VECTOR_SIZE); 
    IntVectorIt start,end, it;
    for (int i=0;i<80;i++)
    {
        Numbers[i] = a;
        a=a+n;
    }
    start=Numbers.begin();
    end=Numbers.end();
    random_shuffle(start, end);
    for(it=start; it!=end; it++)
    {
        mas[g]=*it;
        g++;
    }
    g=0;
    for ( i = 0; i<x;i++)                                   
    {
        for (int j = 0; j<y;j++)                    
        {
            for( int k =0;k<z;k++)
            {
                Mas[i][j][k]=mas[g];
                g++;
            }
            
        }
    }
    flag = 1;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 23:25     переключение "флага"
Посмотрите здесь:

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно - C++
замените в слове сочетание &quot;му&quot; на &quot;а&quot; , а букву &quot;ы&quot; на &quot;ца&quot;. очень нужно Добавлено через 21 час 4 минуты неужели никто не знает...

Создать иерархию классов "Фирма", "Бухгалтер", "Сотрудник", "Зарплата" - C++
Само по себе понятие &quot;зарплата&quot; не особенно конкретное: оно включает и почасовую, и ставочную зарплату, и комиссионные, и процент с продаж....

Структура «Преподаватель» с полями "ФИО", "стаж", "категория", "нагрузка" - C++
Функция - расчёт зарплаты по нагрузке и оплате часа для определенной категории. Категория Оплата часа Вторая 150 Первая 200 ...

Чтения структуры из файла (описать структуру с именем "ORDER": "счет плательщика"; "счет получателя"; "сумма, переводится банковской операцией") - C++
Описать структуру с именем &quot;ORDER&quot;, содержащий следующие поля: &quot;Счет плательщика&quot;; &quot;Счет получателя&quot;; &quot;Сумма, переводится банковской...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: &quot;+&quot;,...

Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел - C++
Вставить пробел после каждого символа &quot;.&quot; &quot;,&quot; &quot;!&quot; или &quot;?&quot;, если за этими символами не следует пробел (т. е. следует любой символ, кроме...

Наследование: "БГТУ", "Факультет", "Группа", "Подгруппа" - C++
Определить иерархию классов (в соответствии с вариантом – выделить базовый и производные). Реализовать классы (самостоятельно задать...

Написать функцию поиска человека по полю "фамилия" в массиве структур "Note" ("Персональная информация") - C++
Вывести из структуры информацию о человеке, чья фамилия введена с клавиатуры #include &lt;iostream&gt; #include &lt;locale&gt; #include...

С++ консольное приложение win32, матерится на первое "pow" после "if", а на "system" говорит что неопределён. - C++
#define _CRT_SECURE_NO_WARNINGS #include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #define Pi 3.1416 #include &lt;clocale&gt;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.04.2013, 00:33     переключение "флага" #2
Объявить flag в базовом классе. Там же - метод для установки флага.
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 312
Завершенные тесты: 1
22.04.2013, 19:20  [ТС]     переключение "флага" #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Объявить flag в базовом классе. Там же - метод для установки флага.
так дело в том что мне надо с помошю перегрузки расширить функциональность базового метода или что-то в етом роде и надо что бы "флаг" был производном классе
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.04.2013, 19:39     переключение "флага" #4
Цитата Сообщение от итернал Посмотреть сообщение
с помошю перегрузки расширить функциональность базового метода
Какого конкретно метода?
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 312
Завершенные тесты: 1
22.04.2013, 19:41  [ТС]     переключение "флага" #5
ну получается flag у меня в методе RandomShuffle, а мне надо росширить метод FillCube
ну изначально у меня было два метода RandomShuffle и Fill в рандоме я заполнял одиночный массив случайными числами, а уже в Fill заполнял трехмерный массив, но потом решил их обьеденить
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.04.2013, 19:51     переключение "флага" #6
Цитата Сообщение от итернал Посмотреть сообщение
но потом решил их обьеденить
Идея в чём? Нет ничего хуже, чем выдуманные конструкции. CCube - это класс чего? CSecond - это класс чего? Почему CSecond наследник CCube?
Yandex
Объявления
22.04.2013, 19:51     переключение "флага"
Ответ Создать тему
Опции темы

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