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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2015, 21:57   #1
Sterben
Форумчанин
 
Аватар для Sterben
 
Регистрация: 01.03.2015
Сообщений: 118
По умолчанию

Здравствуйте,Можно ли перегрузить оператор () так что б он принимал значение str и разбивал его на части ?
Код:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <cstdio>
using namespace std;
class Class
{
private:
	std::string Name;
	std::string lastname;
public:
	Class operator()(Class &c, char *);
	friend std::ostream & operator << (std::ostream & os, const Class &c);
};
Class Class::operator ()(Class &c,char *str)
	{
		char* p, *p1 = NULL;
		int i = 0;
		p = strtok_s(str, " ", &p1);
		c.Name = string((const char *)p);
		p = strtok_s(NULL, " ", &p1);
		c.lastname = string((const char *)p);
		return c;
	}
std::ostream & operator << (std::ostream & os, const Class &c)
{
	os << c.Name;
	return os;
}
void main()
{
	const unsigned n = 4;
	int i = 0;
	char str[255];
	Class Base[n];
	ifstream Date_array;
	Date_array.open("Base.txt");
	if (!Date_array) { cout << "Error"; exit; }
	while (!Date_array.eof() && !Date_array.fail() && i <1)
	{
		Date_array.getline(str, 255);
		Base[i].operator()(Base[i], str);
		i++;
	}
	cout << Base[i];
	cin.get();
}
Можно ли как то реализовать задуманное?

Вроде работает но крашиться если не хватает параметра как избежать ?

Последний раз редактировалось Stilet; 28.09.2015 в 06:50.
Sterben вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка оператора c++ Arrioh Общие вопросы C/C++ 2 05.01.2013 08:46
Перегрузка оператора^ Voronar Общие вопросы C/C++ 2 03.12.2012 23:26
Перегрузка оператора [] dbazulev Общие вопросы C/C++ 1 02.12.2012 20:19
перегрузка оператора ++ nhr Помощь студентам 0 04.05.2011 21:20
перегрузка оператора [] в c++ terminadoor Общие вопросы C/C++ 3 21.01.2010 15:44