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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2010, 18:54   #1
mashuta_ya
Новичок
Джуниор
 
Регистрация: 01.10.2010
Сообщений: 2
По умолчанию перегрузка операторов

Уважаемые программисты,помогите с написанием программы:

Разработать ООП для перечисления всех латинских букв,которые ОТСУТСТВУЮТ в 2-х любых символьных строках,заданных аргументами команды ее вызова. Искомый результат должна отображать строка стандартного вывода,где все буквы перечислены в обратном алфавитном порядке. Программная реализация таких перечислений должна быть основана на разработке класса множества латинских букв с компонентными методами перегрузки операторов '*' и '~' для выполнения теорико-множественных операций ПЕРЕСЕЧЕНИЯ ДОПОЛНЕНИЙ ДВУХ МНОЖЕСТВ. Они должны быть ориентированны на обработку поля приватных данных,где состав множества фиксируется двоичными разрядами целого числа.Конструктор класса должен обеспечивать преобразование исходной символьной записи множества в двоичный целочисленный формат.Необходимо также предусмотреть перегрузку оператора класса потока стандартного вывода для отображения объектов класса множества латинских букв.
Мои соображения:
Код:
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
class Set
{ 
 private:
 unsigned wordset; // bezznakovoe celoe~bukvam latinskogo alfavita
 public:
 Set(char*str)   //konstruktor s argumentom(strokoj simvolov)
 {
  wordset=0;
  for(int i=0; i<strlen(str); i++)
  {
    wordset|=1<<(int)(str[i]-'a');
  } 
 }
 Set operator *(Set st );
 {
   Set buf;
   buf.wordset=wordset^st.wordset;
   return buf;
}
 set operator~ ()
 { wordset= ~wordset; 
 return *this; }
 Set()      // konstruktor bez argumenta
 {
  wordset=0; 
 }
void print()          
{
for(int i=0;i<26;i++)
 {
 if (wordset & (1<<i))
   printf("%c",('a'+i));
 }
cout<< endl;
}
int main(int argc, char **argv)
{
  if(argc<3)
    cerr<<"Tow few arguments!!!"<<endl;
  else
  {
   Set f1(argv[1]), f2(argv[2]), f3;// sozdaem 3 ob"ekta klassa Set 
                                       // i peredaem znacheniya konstr-u s argum.
      
Что дальше не знаю....
И допускаю ошибки в коде,т.к. программист начинающий
mashuta_ya вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка операторов(С++) Сергей AfeR Помощь студентам 0 16.06.2010 18:34
Перегрузка операторов raspberry Общие вопросы C/C++ 2 06.04.2010 00:19
Перегрузка операторов. Macb3th Общие вопросы C/C++ 5 01.04.2010 21:14
Перегрузка операторов (С++) Перчитель Помощь студентам 1 03.12.2008 18:46
Перегрузка операторов, Организация перегрузки операторов chagin_yav Помощь студентам 2 12.05.2008 09:15