HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Перегрузка >> и << ( C++ ) помогите ( не актуально )
  #1  
Старый 02.04.2010, 22:23
Huster
Познающий
Регистрация: 08.05.2009
Сообщений: 46
С нами: 8953552

Репутация: 55
По умолчанию Перегрузка >> и << ( C++ ) помогите ( не актуально )

Люди, для "усовершенствования" своих навыков программирования, попытался для класса перегрузить операторы вводы\выводы из потока ( << >> )
Есть такой простой класс
Он еще ничего не делает, только создается и удаляется.
Код:
#include<iostream>
class String
{
friend ostream& operator<<( ostream &stream, String &obj);
public:
	String ( char *str); // конструктор
	~String () { delete []ptr; } // деструктор
private:
	int lenght;
	char *ptr;
};
String::String ( char *str ) // опис. конструктора
{
	if ( str == NULL || strlen(str) == 0 )
	{
		ptr = new char[1];
		ptr[0] = '\0';
		lenght = 0;
	}
	else
	{
		lenght = strlen(str);
		ptr = new char[lenght];
		for ( int i=0; i<lenght; i++)
			ptr[i] = '0';
		ptr[lenght] = '\0';
	}
}
int main()
{
// тут какой то код 
}
ostream& operator << (ostream &stream, String &obj)
{
// тут описание оператора ввода в поток.
}
Но это не очень важно. Важно другое. Компилятор ругается строки и выдает такое
Код:
friend ostream& operator<<( ostream &stream, String &obj);
error C2143: syntax error : missing ';' before '&'
error C2433: 'ostream' : 'friend' not permitted on data declarations
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2061: syntax error : identifier 'ostream'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2805: binary 'operator <<' has too few parameters
Код:
friend ostream& operator << (ostream &stream, String &obj)
error C2143: syntax error : missing ';' before '&'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2086: 'int ostream' : redefinition
error C2065: 'stream' : undeclared identifier
error C2065: 'obj' : undeclared identifier
error C2275: 'String' : illegal use of this type as an expression
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
fatal error C1903: unable to recover from previous error(s); stopping compilation
В чем проблема ?
p.s использую Microsoft Visual Studio 2005 Version 8.0.50727.42
p.s.p.s в Borland 3.1 все компилируется

Последний раз редактировалось Huster; 02.04.2010 в 22:31..
 
Ответить с цитированием

  #2  
Старый 02.04.2010, 22:30
Huster
Познающий
Регистрация: 08.05.2009
Сообщений: 46
С нами: 8953552

Репутация: 55
По умолчанию

Хмм..... все, я баран, разобрался
Надо было добавить
using namespace std;

Последний раз редактировалось Huster; 02.04.2010 в 23:08..
 
Ответить с цитированием

  #3  
Старый 03.04.2010, 01:42
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
С нами: 8707843

Репутация: 15
По умолчанию

Убивать надо...RTFM
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
<< Эффективный заработок на покеррумах >> Ra1den Разное - Покупка, продажа, обмен 23 05.02.2010 21:48
Продажа голосов для социальной сети VKонтакте >> Alex << Покупка, продажа, услуги в Соц. Сетях 78 27.12.2009 21:37
>> Посоветуйте бесплатный хостинг << AntikasS ПО для Web разработчика 23 01.11.2009 03:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...