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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2012, 12:44   #1
tema65
Пользователь
 
Регистрация: 23.12.2011
Сообщений: 22
По умолчанию поиск подстроки в классе

здравстсвуйте, подскажите пожалуиста как осуществить поиск подстроки в классе, код прилагается
заранее спасибо
Код HTML:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <ostream>
#include <istream>
#include "windows.h"

using namespace std;
class LabString 
{
	string words;
	
public:
	
	LabString () {};
	LabString (string w){words = w;};
	~LabString () {};
	// длина строки
	int size () {return words.length();};
	// индекс
	char operator[] (int n) 
	{if (n<words.length()) 
	return words[n]; 
	else {cout <<endl<<"Индекс задан неверно"; return NULL;}};
	int 
	find (const string& words, size_type idx) const
	friend ostream& operator<< (ostream&,LabString&);// Перегрузка функции-оператора ввывода и ввода
	friend istream& operator>> (istream&,LabString&);// для класса LabString
	
};


ostream& operator<< (ostream& os,LabString& ls)// Перегрузка оператора вывода
{
	os << ls.words;
	return os;
};
istream& operator>> (istream& is,LabString& ls)//Перегрузка оператора ввода
{
	is >> ls.words;
	return is;
}


int _tmain(int argc, _TCHAR* argv[])
{
	SetConsoleCP(1251); 
	SetConsoleOutputCP(1251);
	LabString s1,s2;
	unsigned int a;
	
    cout <<"Введите строку: ";
	cin>>s1;
	cout << "Длина строки равна:" << s1.size()<<endl;
	cout << "Введите строку: ";
	cin>>s2;
	cout << "Индекс: " ;
	cin>>a;
	cout <<"Результат "; 
	cout <<s2[a]<<endl;

	system("pause");
	return 0;

}
tema65 вне форума Ответить с цитированием
Старый 15.01.2012, 13:37   #2
tema65
Пользователь
 
Регистрация: 23.12.2011
Сообщений: 22
По умолчанию

Код HTML:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <ostream>
#include <istream>
#include "windows.h"

using namespace std;
class LabString 
{
	string words;
	
public:
	
	LabString () {};
	LabString (string w){words = w;};
	~LabString () {};
	// длина строки
	int size () {return words.length();};
	// индекс
	char operator[] (int n) 
	{if (n<words.length()) 
	return words[n]; 
	else {cout <<endl<<"Индекс задан неверно"; return NULL;}};
	
	LabString MyFind(LabString &str); 
	
	friend ostream& operator<< (ostream&,LabString&);// Перегрузка функции-оператора ввывода и ввода
	friend istream& operator>> (istream&,LabString&);// для класса LabString
	
};


ostream& operator<< (ostream& os,LabString& ls)// Перегрузка оператора вывода
{
	os << ls.words;
	return os;
};
istream& operator>> (istream& is,LabString& ls)//Перегрузка оператора ввода
{
	is >> ls.words;
	return is;
}
//подстрока
LabString LabString::MyFind(LabString &str)
{
str.words = words.find(str.words);
return str;
}


int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(0,"rus");
	LabString s1,s2,s3,s4;
	unsigned int a;
	
    cout <<"Введите строку: ";
	cin>>s1;
	cout << "Длина строки равна:" << s1.size()<<endl;
	cout << "Введите строку: ";
	cin>>s2;
	cout << "Индекс: " ;
	cin>>a;
	cout <<"Результат: "; 
	cout <<s2[a]<<endl;
	cout<<"Введите строку: ";
	cin>>s3;
	cout<<"Введите строку: ";
    cin>>s4;
	cout<<"подстрока: "<<s4.MyFind(s3)<<endl;
	system("pause");
	return 0;

}
вроде сделал, но при компилировании не выдается значение подстроки
tema65 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск подстроки в строке Mister.V Общие вопросы Delphi 14 17.12.2011 13:01
Поиск подстроки в строке videolord Общие вопросы по Java, Java SE, Kotlin 2 10.04.2011 09:11
Поиск подстроки int 20h Win Api 2 09.08.2010 20:37
поиск подстроки в строке!!! StoneSour Общие вопросы C/C++ 2 15.03.2010 21:31