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

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

Восстановить пароль Регистрация
 
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
08.12.2012, 14:36     как вызвать метод из указателя на вектор пользовательского типа #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
#include <iostream>
#include <vector>
#include <string>
using namespace std;
struct Client
{
    vector <string> login;
    vector <string> password;
    vector <int> access;
    void output()
    {
        for(int i=0; i<login.size(); i++)
        cout<<login[i]<<"\t"<<password[i]<<"\t"<<access[i]<<endl;
    }
};
int main(void)
{
    vector <Client> *c;
    c=new vector<Client>;
    string tempacc,temppas;
    int templvl;
    Client buf;
    cin>>tempacc; cin>>temppas; cin>>templvl;
    buf.login.push_back(tempacc);
    buf.password.push_back(temppas);
    buf.access.push_back(templvl);
    c->push_back(buf);
        cout<<"output:\n";
    c->output();
 
    return 0;
}
как вызвать output?
пишет output не является членом std::vector
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 14:36     как вызвать метод из указателя на вектор пользовательского типа
Посмотрите здесь:

C++ Как создать элемент вектора пользовательского типа(класса)?
Вектор объектов пользовательского класса C++
Приведение типа указателя на метод C++
Вектор пользовательского типа данных C++
Как правильно пользоваться typedef для декларации типа указателя на функцию? C++
C++ Как сравнить два указателя типа char?
C++ Как создать шаблон для пользовательского и встроенного типа?
Можно ли присвоить объекту основного типа значение объекта пользовательского типа? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yekka
384 / 148 / 8
Регистрация: 12.05.2011
Сообщений: 450
08.12.2012, 15:15     как вызвать метод из указателя на вектор пользовательского типа #2
C++
1
2
3
    for (vector<Client>::iterator it = c->begin(); it != c->end(); ++it) {
        it->output();
    }
Добавлено через 10 минут
совершенно не ясно, кстати, зачем тебе вектор объектов типа Client, если в этом векторе у тебя хранится только один объект.

странно, что класс называется Client, хотя, очевидно, он предназначен для хранения данных не об одном клиенте, а о неопределенно большом их количестве.

также я не вижу причин, зачем ты вектор создаешь в куче, а не на стеке.

ну и еще ты забыл сделать delete
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
08.12.2012, 17:25  [ТС]     как вызвать метод из указателя на вектор пользовательского типа #3
Цитата Сообщение от yekka Посмотреть сообщение
C++
1
2
3
    for (vector<Client>::iterator it = c->begin(); it != c->end(); ++it) {
        it->output();
    }
Добавлено через 10 минут
совершенно не ясно, кстати, зачем тебе вектор объектов типа Client, если в этом векторе у тебя хранится только один объект.

странно, что класс называется Client, хотя, очевидно, он предназначен для хранения данных не об одном клиенте, а о неопределенно большом их количестве.

также я не вижу причин, зачем ты вектор создаешь в куче, а не на стеке.

ну и еще ты забыл сделать delete
мне надо передалать лабу из "дискреционная модель разграничения доступа" в "ролевую ..."
субъекты(клиенты) мне надо отнести к ролям.
сперва у меня логин,пароль,доступ были прямо в классе описане, и они и были субъектами в матрице
теперь надо субъектов объединить в роли, а роли должны отображаться в матрице.

и на одну роль может приходиться несколько субъектов, да и ролей может быть неизвестно сколько(будет считываться с файла)
я пока только попробовал реализовать эту идею, сейчас переделываю её в саму програму, переписывать пару сотен кода, геморооой

Добавлено через 2 часа 1 минуту
C++
1
2
3
4
5
6
ofstream ofst(FNAME_ROLE);
    for(vector<Client>::iterator it = c->begin(); it != c->end(); ++it)
            {
                copy(it->begin(), it->end(), ostream_iterator<Client>(ofst, " "));
                ofst<<endl;
            }
в чем ошибка? как это сохранить в файл?
Yandex
Объявления
08.12.2012, 17:25     как вызвать метод из указателя на вектор пользовательского типа
Ответ Создать тему
Опции темы

Текущее время: 22:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru