Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
dserp18
10 / 10 / 1
Регистрация: 20.01.2013
Сообщений: 116
Записей в блоге: 4
#1

передача параметра в класс

28.06.2013, 11:48. Просмотров 271. Ответов 4
Метки нет (Все метки)

в методе я вывожу поля класса по условию, как передавать в класс переменную х, и использовать х в условии метода age>x,можно ли в цикле осуществлять переборку экземпляров?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
using namespace std;
class Human{   
      public:
      int age,weight;
      string name;      
      void myprint(){if (age>30) 
          cout<<"age " <<age <<" name " <<name <<" weight " <<weight <<endl;
           }   };
      int main(){
          Human a,b;
          a.age=32;
          a.name="Вася";
          a.weight=40;
          b.age=10;
          b.name="Петя";
          b.weight=25;
          a.myprint();
          b.myprint();
          system("pause");
          }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2013, 11:48
Ответы с готовыми решениями:

Передача параметра в дружественный класс
Не получается передать значение в дружественный класс #include &lt;iostream&gt; ...

Передача параметра из класса в класс
Добрый вечер. Я передаю цвет квадратика(класс square) в функция стирания...

передача параметра
привет всем ! вот код #include &lt;iostream&gt; using namespace std; struct...

Передача параметра в потоки
Добрый день уважаемые форумчане! Подскажите как правильно сделать передачу...

Передача параметра по ссылке
Здравствуйте! Подскажите пожалуйста! Делаю пример из книги: #include...

4
abit
272 / 271 / 83
Регистрация: 03.02.2013
Сообщений: 770
28.06.2013, 12:19 #2
какая переменная x? у вас в коде её не наблюдаю...
или вы намекаете чтобы в if (age>30) было if (age>x)?
можно пойти такими путями:
C++
1
2
3
4
5
6
....
void myprint(const int x){if (age>x)
...
          a.myprint(23);
          b.myprint(30);
...
либо
C++
1
2
3
4
5
6
7
8
9
...
      string name;      
      static int p_age=30;
      void myprint(){if (age>p_age) 
...
          a.p_age=25; (сработает и для объекта b)
          a.myprint();
          b.myprint();
...
можно ли в цикле осуществлять переборку экземпляров?
внутри класса - нет, вне класса, где экземпляры созданы - можно, создав соответствующий массив/вектор этих объектов
1
Tulosba
:)
Эксперт С++
4747 / 3241 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.06.2013, 12:23 #3
Цитата Сообщение от dserp18 Посмотреть сообщение
использовать х в условии метода age>x
C++
1
void myprint(int old){if (age>old)
Цитата Сообщение от dserp18 Посмотреть сообщение
можно ли в цикле осуществлять переборку экземпляров?
Заведите список или массив элементов и перебирайте его.
1
dserp18
10 / 10 / 1
Регистрация: 20.01.2013
Сообщений: 116
Записей в блоге: 4
28.06.2013, 13:07  [ТС] #4
ухм спасибо ) то есть в main нужно создать массив экземпляров класса и тогда можно их перебирать в цикле. а как создать такой массив?
0
Tulosba
:)
Эксперт С++
4747 / 3241 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.06.2013, 13:35 #5
Цитата Сообщение от dserp18 Посмотреть сообщение
а как создать такой массив?
вариантов может быть несколько.
1. Обычный массив:
C++
1
2
3
4
5
6
7
Human people[2];
people[0].age=32;
people[0].name="Вася";
people[0].weight=40;
people[1].age=10;
people[1].name="Петя";
people[1].weight=25;
2. Стандартный контейнер. Например std::vector:
C++
1
2
3
4
5
6
7
8
9
10
std::vector<Human> people;
Human h;
h.age=32;
h.name="Вася";
h.weight=40;
people.push_back(h); // добавляем первого
h.age=10;
h.name="Петя";
h.weight=25;
people.push_back(h); // добавляем второго
Но вообще-то, не помешает создать нормальный конструктор(ы) для класса Human и прочие необходимые функции. Иначе работать с классом будет неудобно.
0
28.06.2013, 13:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 13:35

Передача параметра в функцию
Столкнулся с муторной проблемой передачи параметра в функцию. Суть задания...

Передача параметра по ссылке
Всем доброго времени суток. Понимаю что вопрос покажется очень глупым, но я...

Передача инкрементирующегося параметра
Добрый день, подскажите пожалуйста, почему сначала выводится самое большое...


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

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

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