Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор параметров создания объекта 
V
    Опции темы
EvgenZ
Дата 16.9.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



В классе есть 2 поля int и char*, надо чтобы можно было создавать объект  при заданном int или при заданном char. Не соображу как можно создавать объект с разными параметрами. Додумался только до switch, тоесть спрашивается по каким данным создавать объект, пользователь выбирает что будет вводить int или char и вводит. 


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
vinter
Дата 16.9.2006, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



когда ввел проверь что содержится цифры или символы , и от этого уже пляши smile 


--------------------
Мой блог
PM MAIL WWW   Вверх
sOckets
Дата 16.9.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: 1
Всего: 2



Что говорит гугл
Что говорит Винград

Используй конструкторы
Код

#include <iostream.h>
use namespace std;

class myclass {
    int a;
    char b;
    public:
    myclass(int A,char B);    // constructor
    void show();
};

myclass::myclass(int A,char B)
{
    a=A;
    b=B;
}

 ну и тд...

Это сообщение отредактировал(а) ilovewinsocks - 16.9.2006, 14:42


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
EvgenZ
Дата 16.9.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



vinter, у меня в чаре лежат 1 и 0 (двоичное представление числа  smile ).
ilovewinsocks, то что они говорят я просмотрел и не нашел нужного. Насчет примера ты видимо не понял сути вопроса  smile .


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
sOckets
Дата 16.9.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: 1
Всего: 2



=\ код покажи , то есть ты хочешь создавать объект или с инт или с чар ?


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
vinter
Дата 16.9.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



ты лучше напиши какая задача стоит пред тобой , а то че то мне кажется , ты перемудрил smile 


--------------------
Мой блог
PM MAIL WWW   Вверх
MAKCim
Дата 16.9.2006, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



перегрузи конструкторы, делов то
Код

class Some
{
...
    Some(int);
    Some(char*);
...
};



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
sOckets
Дата 16.9.2006, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: 1
Всего: 2



Если как я подумал , тогда использу перезагрузку конструкторов.


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
vinter
Дата 16.9.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата

Если как я подумал , тогда использу перезагрузку конструкторов.

Цитата

перегрузи конструкторы, делов то

если у него и там и там числа, то он не сможет определить какой конструктор ему понадобится, если только заранее пользователь не выбрал, что конкретно он будет вводить..
Цитата

Додумался только до switch, тоесть спрашивается по каким данным создавать объект, пользователь выбирает что будет вводить int или char и вводит. 

а такой вариант его видимо не устраивает..


--------------------
Мой блог
PM MAIL WWW   Вверх
EvgenZ
Дата 16.9.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



Целое двоичное число в прямом коде со знаком определяется его длинной(кол-во цифр в числе), число хранится в прямом коде. память выделяется статически. 
надо:
создание объекта с инициализацией значением челого типа инт
создание объекта с инициализацией значением числа как строки символов


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
vinter
Дата 16.9.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



а в инте че хранится должно?? проверяй число на наличее чисел отличных от 1(0)..
а вообще ИМХО тут один нормальный выход, ты до него уже сам дошел..


--------------------
Мой блог
PM MAIL WWW   Вверх
EvgenZ
Дата 16.9.2006, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



в int лежит количество цифр в числе которое зранится в char, а если у меня 111 цифр -> не походит...


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
MAKCim
Дата 16.9.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Код

template<int N>
    class binary
{
private:
    char m_array[N];
public:
    template<class Numeric> binary
        (Numeric obj) throw(low_memory)
    {
        std::size_t size=8*sizeof(Numeric);
        if (size>=N) throw low_memory();
        for (int i=N-1; i>=0; --i) m_array[i]=obj&0x1, obj>>=1;
    }

    binary(char* obj)
    {
        std::size_t size, i;
        if ((size=std::strlen(obj))>=N) throw low_memory();
        for (i=0; i<N; ++i) m_array[i]=*obj-48, ++obj;
    }
};



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
vinter
Дата 16.9.2006, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



универсального, ниче не придумаешь ИМХО можно конечно придумать, алгоритм , но все равно при некоторых комбинациях будут нестыковки.. А свой вариант чем не нравится??
Кстати зачем вводить кол-во цифр если их можно посчитать..
Допустим вводишь двоичное число, потом strlen и все впоряде..


--------------------
Мой блог
PM MAIL WWW   Вверх
EvgenZ
Дата 16.9.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



MAKCim, спасибо, но слишком сложно для этой задачи  smile .

vinter, таково задание... Вообщя я подумал, что есть стандартный инструмент для выбора.

Всем спасибо, буду использовать свич.


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1041 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.