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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2011, 20:28   #11
monolit111
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 95
По умолчанию

пардон, теперь ошибка не там:

хедер
Код:
#ifndef DATABASE_H_INCLUDED
#define DATABASE_H_INCLUDED

#include <iostream>
#include <string>
#include "string.h"
using namespace std;

struct structura {
        char *facult, *fio;
        int stag;
};
class base {
    private:
        structura vect[100];
        int n;
    public:
        base();
        base(const base &b);
        void add(string name, string facult, int st);
        void add(char* name, char* facult, int st);
        base operator=(const base &b);
        bool operator==(const base &b);
        double sr_stag();
        base new_base(int k);
        ~base();
    friend ostream&operator<<(ostream &ostr, const base &b);
};

#endif // DATABASE_H_INCLUDED
файл cpp
Код:
#include "database.h"
----
ostream& base::operator<<(ostream &ostr, const base &b) {//здесь та же ошибка
    //ostr<<endl;
    for(int i=0; i<n; i++) ostr<<vect[i].fio<<" "<<vect[i].facult<<" "<<vect[i].stag<<endl;
    return ostr;
}
----
monolit111 вне форума Ответить с цитированием
Старый 27.11.2011, 20:32   #12
_Ч_
Форумчанин
 
Регистрация: 07.01.2010
Сообщений: 141
По умолчанию

ну ёпрст. оператор << у вас ф-ия а не мембер. при определении не надо писать
Код:
... base::operator << ...
Код:
ostream& operator<<(ostream &ostr, const base &b)
{
 ...
}
под мемберами имел в виду методы класса.

Последний раз редактировалось _Ч_; 27.11.2011 в 20:38.
_Ч_ вне форума Ответить с цитированием
Старый 27.11.2011, 20:37   #13
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от monolit111 Посмотреть сообщение
пардон, теперь ошибка не там:

хедер
Код:
#ifndef DATABASE_H_INCLUDED
#define DATABASE_H_INCLUDED

#include <iostream>
#include <string>
#include "string.h"
using namespace std;

struct structura {
        char *facult, *fio;
        int stag;
};
class base {
    private:
        structura vect[100];
        int n;
    public:
        base();
        base(const base &b);
        void add(string name, string facult, int st);
        void add(char* name, char* facult, int st);
        base operator=(const base &b);
        bool operator==(const base &b);
        double sr_stag();
        base new_base(int k);
        ~base();
    friend ostream&operator<<(ostream &ostr, const base &b);
};

#endif // DATABASE_H_INCLUDED
файл cpp
Код:
#include "database.h"
----
ostream& base::operator<<(ostream &ostr, const base &b) {//здесь та же ошибка
    //ostr<<endl;
    for(int i=0; i<n; i++) ostr<<vect[i].fio<<" "<<vect[i].facult<<" "<<vect[i].stag<<endl;
    return ostr;
}
----
Меня не обманешь!

Во-первых, вы так и не исправили объявление заголовка "string.h".Исправьте!

Во-вторых, вы определяете этот оператор как член класса, когда таковым он не объявлен в классе. Уберите имя класса перед именем оператор-функции в ее определении.
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 27.11.2011, 20:40   #14
monolit111
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 95
По умолчанию

черт, а ведь правда))на автомате писал))
Спасибо большое))
monolit111 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема в классах jec Общие вопросы C/C++ 4 29.12.2010 03:39
Проблема с перегрузкой операторов в C++ StudentofSUSU Помощь студентам 2 30.09.2010 10:04
Проблема с перегрузкой операторов, не могу разобраться mrLee Помощь студентам 1 30.01.2010 00:23
Проблема с перегрузкой операторов, не могу разобраться mrLee Общие вопросы C/C++ 0 29.01.2010 18:45
В конструкторе выделяется память под массив. Как быть с перегрузкой оператора = ? TwiX Общие вопросы C/C++ 6 15.12.2009 12:18