Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
#1

Перегрузка - подчеркивает что ошибка здесь - a.strb - C++

26.02.2014, 18:43. Просмотров 674. Ответов 21
Метки нет (Все метки)

C++
1
2
3
4
Texts Texts :: operator + (const Texts &a) {
    Texts tmp;
    tmp.str = strh + a.strb;
}
подчеркивает что ошибка здесь - a.strb


не могу понять в чем дело, strh и strb это объекты производных классов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2014, 18:43     Перегрузка - подчеркивает что ошибка здесь - a.strb
Посмотрите здесь:
C++ Ошибка подчеркивает this.
C++ else подчеркивает и пишет что требуется оператор
подчеркивает запятую после 50, что это может быть? C++
Слишком много аргументов в вызове функции, подчеркивает то что красным C++
C++ Строку с методом подчеркивает и говорит о том, что не переданы аргументы. Как их передать в метод?
Что здесь не так? C++
C++ Что здесь не так
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1447 / 1176 / 61
Регистрация: 21.04.2012
Сообщений: 2,463
Завершенные тесты: 3
26.02.2014, 20:42     Перегрузка - подчеркивает что ошибка здесь - a.strb #16
RayPas, не понял, что за "фасад", но думаю нужна двойная дисперечизация: можно реализовать с помощью одного публичного виртального метода и двух защищённых, примерно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
struct hex_string;
struct bit_string;
 
struct string {
 
   virtual void concat(string const& other) = 0;
 
protected:
   virtual void concat_to(hex_string & other) const = 0;
   virtual void concat_to(bit_string & other) const = 0;
 
   // ...
};
 
struct hex_string : string {
 
   virtual void concat(string const& other) {
      other.concat_to(*this);
   }
 
protected:
   virtual void concat_to(hex_string & other) const {
      // concat this hex_string to other hex_string
   }
 
   virtual void concat_to(bit_string & other) const {
      // concat this hex_string to other bit_string
   }
 
   // ...
};
 
struct bit_string : string {
   
   virtual void concat(string const& other) {
      other.concat_to(*this);
   }
 
protected:
   virtual void concat_to(hex_string & other) const {
      // concat this bit_string to other hex_string
   }
 
   virtual void concat_to(bit_string & other) const {
      // concat this bit_string to other bit_string
   }
 
   // ...
};
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
27.02.2014, 00:24  [ТС]     Перегрузка - подчеркивает что ошибка здесь - a.strb #17
DrOffset, я вас понял...кажется

Добавлено через 3 часа 39 минут
DrOffset, не, чет не доходит, не работает...я так понял перегрузить один класс , второй класс, а затем в фасаде перегрузить операцию типов hex и bin...но не получается
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
27.02.2014, 00:26     Перегрузка - подчеркивает что ошибка здесь - a.strb #18
Цитата Сообщение от RayPas Посмотреть сообщение
не, чет не доходит, не работает
Я бы рад помочь, но без кода остается только гадать...
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
27.02.2014, 17:14  [ТС]     Перегрузка - подчеркивает что ошибка здесь - a.strb #19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[nick]DrOffset[/nick], окай
 
#pragma once
#include "C_String.h"
 
using Program :: C_String;
 
class C_StringHex : public C_String
{   int lengthHex;
    char* ptrH;
public:
    C_StringHex(void);
    void setC_String();
    int HexInvert(char* p);
    ~C_StringHex() {}
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
#include "C_String.h"
 
using Program :: C_String;
 
class C_StringBit : public C_String
{   int lengthBit;
    char* ptrB;
public:
    C_StringBit(void);
    void setC_String();
    int BitInvert(char* p);
    ~C_StringBit() {}
};
вот два класса, строки которых(уже преобразованные в типы int) надо сложить в фасадном классе
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
27.02.2014, 17:36     Перегрузка - подчеркивает что ошибка здесь - a.strb #20
Автор, ты бредишь! Напиши просто класс "строка" и не выпендривайся с наследованием! А что такое "фасадный класс" тут никто не поймёт.
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
27.02.2014, 17:40  [ТС]     Перегрузка - подчеркивает что ошибка здесь - a.strb #21
Kuzia domovenok, это мое задание, так что бредишь тут только ты
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2014, 18:15     Перегрузка - подчеркивает что ошибка здесь - a.strb
Еще ссылки по теме:
C++ Что здесь не правильно?
Что здесь не так? C++
Что здесь не правильно? (переменные) C++
C++ Ребята что здесь неправильно?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
27.02.2014, 18:15     Перегрузка - подчеркивает что ошибка здесь - a.strb #22
RayPas, задание своё ты так и не выложил, код программы целиком тоже - лишь частями показываешь, где взял задание и кто тебя научил таким терминам вроде "фасадный класс" не отвечаешь...
Внимание вопрос: Чего ты боишься и секретничаешь? Ядерную бомбу что ли изобретаешь?
Yandex
Объявления
27.02.2014, 18:15     Перегрузка - подчеркивает что ошибка здесь - a.strb
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru