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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2016, 21:00   #1
СемёнСемёныч
 
Регистрация: 31.03.2016
Сообщений: 8
По умолчанию вопрос по агрегации

имеется два класса Set и StateInput

хочу использовать тип данных Set в классе StateInput , пытаюсь делать агрегацию

Код:
/*Set.h*/

typedef unsigned short WORD;

class Set {
private:
        int minElem;
	int maxElem;
	WORD *elems;
	int numWords;


public:
    Set(int min = 0, int max = 255); <----------
    Set(const Set & s);
    ~Set();

    bool has(int n) const;

    Set & operator |= (int n);
    Set & operator |= (const Set & other);

    Set & operator &= (const Set & other);
    
    Set & operator -= (int n);
    Set & operator -=(const Set & other);

    Set & Inverse();

};

Код:
/*StateInput.h*/ 

#include "Set.h"


class StateInput {
private:
    bool                      dot;
    unsigned short  bracketCounter;

    Set state(40,57);     <----------
public:
    StateInput();

    void setStartState();
    void setNewState(int ch);

    bool isStateSymbEnabled(int ch);
    
    void correctState(int ch);
    
    
};
компилирую StateInput - ошибка

In file included from StateInput.cpp:3:0:
StateInput.h:29:15: error: expected identifier before numeric constant
Set state(40,57);
^

меняю строку Set state(40,57); на Set state;

при компиляции никаких ошибок, но мне нужно вызвать конструктор не по умолчанию, а с нужными параметрами

помогите разобраться в чем тут дело


и ещё
класс Set тестировал, все без проблем компилируется и работает

примерно так

Код:
/*testSet.cpp*/

#include "Set.h"
//


int main() {

	Set s;
	Set s1(40,77);
	/*


	*/

	return 0;
}

Последний раз редактировалось СемёнСемёныч; 31.03.2016 в 22:00.
СемёнСемёныч вне форума Ответить с цитированием
Старый 31.03.2016, 22:50   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В конструкторе вызывайте.
Код:
StateInput::StateInput() : state(...)
{
}
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.04.2016 в 18:39.
Alex11223 вне форума Ответить с цитированием
Старый 01.04.2016, 17:57   #3
СемёнСемёныч
 
Регистрация: 31.03.2016
Сообщений: 8
По умолчанию

Код:
/*StateInput.h*/ 

#include "Set.h"


class StateInput {
private:
    bool                      dot;
    unsigned short  bracketCounter;

    Set state;    
public:
    StateInput();

    void setStartState();
    void setNewState(int ch);

    bool isStateSymbEnabled(int ch);
    
    void correctState(int ch);
    
    
};


/*StateInput.cpp*/
StateInput::StateInput() : state(40,57)
{
/**/
}
...
так скомпилировалось))

Последний раз редактировалось СемёнСемёныч; 01.04.2016 в 19:50.
СемёнСемёныч вне форума Ответить с цитированием
Старый 01.04.2016, 18:04   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Просто инициализирует ту переменную класса (state) с помощью указанного конструктора вместо конструктора без параметров.

https://www.google.com/search?q=c%2B...ember+variable
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.04.2016 в 18:39.
Alex11223 вне форума Ответить с цитированием
Старый 01.04.2016, 20:12   #5
СемёнСемёныч
 
Регистрация: 31.03.2016
Сообщений: 8
По умолчанию

Alex большое спасибо за помощь
СемёнСемёныч вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Иерархический список для агрегации в Universe Designer IFRSoff Помощь студентам 1 29.07.2015 18:24
Иерархический список для агрегации в Universe Designer IFRSoff Помощь студентам 0 29.07.2015 17:44
Создание функции Агрегации в MS-SQL Lader SQL, базы данных 7 07.06.2011 00:01
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10