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

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

Войти
Регистрация
Восстановить пароль
 
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
#1

Как лучше передать массив объектов в метод? - C++

11.02.2013, 21:01. Просмотров 361. Ответов 2
Метки нет (Все метки)

Есть класс Product и массив объектов P размера SIZE.
Нужно отфильтровать объекты по названию продукта. Для этого передаю массив P в метод fName.
Есть ли способ сделать это более корректно/правильно с точки зрения ООП?
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
class Product                      
{
    private:
        string Name;  // названия продукта  
        string Manufacturer;        
        // ... и т.д. 
    public:
        Product() {}
        void fName (Product *);  
        // ... и т.д.
        ~Product() {}
};
 
void Product :: fName (Product *P)
{
    bool T = false;
    string S;
 
    cout << "Enter a name for your search: ";
    getline (cin, S);
    
    for (int i = 0; i < SIZE; i++)
    {
        int n = P[i].Name.find(S);
        if (n != -1)
        {
            P[i].PrintData();
            T = true;
        }
    }
    if (!T) cout << "Nothing found.";
}
 
int main ()
{
     Product *P = new Product [SIZE];
     // заполняем массив
     // ...
     // фиьтрация по названию
     P->fName(P);
 
     return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 21:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как лучше передать массив объектов в метод? (C++):

Как правильно передать массив объектов пользовательского типа в функцию? - C++
Доброго всем, пишу впервые пишу огромную программу - игру и столкнулся с проблемой, которую так сам и не могу решить. Нужно передать массив...

Как правильно вызвать методы, чтобы передать весь массив объектов - C++
#include &lt;iostream&gt; using namespace std; class f { public: int a; f() { a = 0;

Метод, принимающий массив объектов - C++
#include &lt;iostream&gt; using namespace std; class A { private: int a; public: //int a; A()

Передать массив обьектов в метод класса - C++
Здраствуйте господа программисты! Подскажите пожалуйста как передать массив обьектов в метод класса: #include &lt;conio.h&gt; #include...

Не могу разобраться как передать корректно передать массив из функции в функцию - C++
//--------------------------------------------------------------------------- #pragma hdrstop ...

Указатель на массив указателей на объекты, передать в метод объекта - C++
Здравствуйте! Нужно решить задачу, есть такой класс. class MyClsDisk { public: void...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,231
Записей в блоге: 3
Завершенные тесты: 1
11.02.2013, 21:03 #2
Цитата Сообщение от hofmn Посмотреть сообщение
Есть ли способ сделать это более корректно/правильно с точки зрения ООП?
имхо, передать ссылку на std::vector
nonedark2008
905 / 644 / 132
Регистрация: 28.07.2012
Сообщений: 1,738
11.02.2013, 21:04 #3
Цитата Сообщение от hofmn Посмотреть сообщение
Есть ли способ сделать это более корректно/правильно с точки зрения ООП?
Да, нужно сделать отдельный класс для работы с массивом переменных Product, и уже внутри этого класса определять метод для фильтрации массива.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2013, 21:04
Привет! Вот еще темы с ответами:

Как передать в метод класса Menu указатель на метод дочернего класса? - C++
Как передать в метод базового класса указатель на метод дочернего: class Menu() { protected: setCallback(*********); //...

Передать метод, как параметр, в функцию - C++
Добрый день. Есть функция, которая должна в качестве параметра принимать указатель на метод класса. Причем сам метод может быть обычным,...

Передать метод класса как параметр - C++
Есть класс A, у него есть метод B, как метод B подсунуть в конструктор std::thread? Что-то типа такого class A { void B{ ... } ...

Как передать в метод класса ссылку на экземпляр - C++
Есть класс class Class{ ... } Как передать в метод экземплер класса из которого вызывается этот метод? Пробывал так: class Class{ ...


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

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

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