Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2017, 20:21   #1
max29
Пользователь
 
Аватар для max29
 
Регистрация: 16.04.2016
Сообщений: 41
По умолчанию Реализация массива в классе(проблема многократного вывода значений на экран)

Здравствуйте форумчане написал я программу реализации массива в классе,
но вывод значений на экран получается многократный! Из за циклов указанных в "теле" класса и в "теле" функции main.
Вот программа:

Код:
#include<iostream>
using namespace std;
class myclass
{
protected:

    int x[5];

public:

    myclass(int y){for(int i = 0; i < 5; i++) x[i] = y;}
 
    void circle(){for(int i = 0; i < 5; i++) cout<< x[i] <<"\n";}
};
 
void main()
{
    int L[5];
    for(int i = 0; i < 5; i++)
    {
        cin >> L[i];
        myclass ob(L[i]);
        ob.circle();
    }
    system("pause");
    
}
Так вот вопрос как сделать так чтоб остался цикл только в "теле" main функции??
max29 вне форума Ответить с цитированием
Старый 19.01.2017, 10:03   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Он у вас итак в мейне... Что вы выводить хотите?
p51x вне форума Ответить с цитированием
Старый 19.01.2017, 10:08   #3
max29
Пользователь
 
Аватар для max29
 
Регистрация: 16.04.2016
Сообщений: 41
По умолчанию

написать так чтоб убрать циклы из public и оставить только в main-е.
max29 вне форума Ответить с цитированием
Старый 19.01.2017, 10:10   #4
max29
Пользователь
 
Аватар для max29
 
Регистрация: 16.04.2016
Сообщений: 41
По умолчанию

А если вот так?
Код:
#include<iostream>
using namespace std;
class myclass
{
protected:

    int x;

public:

    myclass(int y){ x = y;}
 
    void circle(){for( cout<< x <<"\n";}
};
 
void main()
{
    int L[5];
    for(int i = 0; i < 5; i++)
    {
        cin >> L[i];
        myclass ob(L[i]);
        ob.circle();
    }
    system("pause");
    
}
max29 вне форума Ответить с цитированием
Старый 19.01.2017, 10:13   #5
max29
Пользователь
 
Аватар для max29
 
Регистрация: 16.04.2016
Сообщений: 41
По умолчанию

А в идеале я-бы хотел оставить циклы/массивы и в PUBLIC и в main НО чтобы выводило на экран каждое значение однократно а не 5 раз по 5 раз.
max29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка оператора вывода в классе. cj3678 Помощь студентам 0 19.05.2014 18:48
Написать программу вывода на экран таблицы значений функции... AnriK1991 Общие вопросы C/C++ 0 08.12.2012 14:20
перегрузка оператора вывода в шаблонном классе Anubys Общие вопросы C/C++ 3 14.03.2012 15:15
реализация виртуальных функций не в своем классе pproger Общие вопросы C/C++ 2 08.12.2010 00:35