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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2011, 19:13   #1
_Kitten_
 
Регистрация: 12.12.2011
Сообщений: 4
По умолчанию malloc в С++

Подскажите пожалуйста как в данной программе выделить динамическую память с помощью malloc для объекта

#include <iostream>
#include <cstdlib>
#include <clocale>
#include <conio.h>

class software
{
public:
typedef void (software::*delegate)(void);

void Print() {
std::cout << name << " " << version << " " << firm << " " << size << "\n";
}

void set_name()
{
std::cout << "Введите новое имя" << std::endl;
std::cin >> name;
}

void set_firm()
{
std::cout << "Введите новую фирму" << std::endl;
std::cin >> firm;
}

void set_size()
{
std::cout << "Введите новый размер" << std::endl;
std::cin >> size;
}

void set_version()
{
std::cout << "Введите новую версию" << std::endl;
std::cin >> version;
}

char name[80];
char firm[80];
unsigned short int size;
unsigned short int version;
};

int main()
{
setlocale(LC_ALL, "Russian");

software:: delegate actions[4] = { &software::set_name, &software::set_version, &software::set_firm, &software::set_size };
software obj = { "IOS", "Apple", 1, 300 };

std::cout << "Начальное состояние объекта" << std::endl;
obj.Print();

while (true)
{
std::cout << "Выберите какое действие вы хотите сделать" << std::endl
<< "\t1. Изменить имя" << std::endl
<< "\t2. Изменить версию" << std::endl
<< "\t3. Изменить фирму-изготовитель" << std::endl
<< "\t4. Изменить размер программы (в байтах)" << std::endl
<< "\t5. Выйти из программы" << std::endl;

char key = _getch();
if (key == '5')
break;
if (key >= '1' && key <= '4')
{
(obj.*actions[key - '1'])();
obj.Print();
}
}

system("Pause");
return EXIT_SUCCESS;
}
_Kitten_ вне форума Ответить с цитированием
Старый 12.12.2011, 19:19   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

а зачем malloc() в С++?
new не устраивает?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 12.12.2011, 19:20   #3
_Kitten_
 
Регистрация: 12.12.2011
Сообщений: 4
По умолчанию

нужно использовать именно malloc
_Kitten_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Malloc Sabin4ik Общие вопросы C/C++ 12 18.02.2011 01:13
malloc & calloc dn.xmk Общие вопросы C/C++ 12 25.01.2011 18:24
SIEGSEGV в malloc() TheVampire Общие вопросы C/C++ 0 25.09.2009 14:32
Проблема с malloc Обледеневший Общие вопросы C/C++ 7 14.09.2009 18:06
malloc free Ошибка. BeNN Общие вопросы C/C++ 19 09.07.2009 12:46