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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2009, 15:22   #1
Serror
Пользователь
 
Регистрация: 03.10.2009
Сообщений: 19
По умолчанию Помощь в классах и функциях.

Вот допустим есть у нас класс Склад.И надо вывести весь товар находящийся на нём после ввода id склада.Правильно ли я сделал?
Код:
class store
{
char name[100];
char adress[100];
char tovar[50][100];
int id;
void show_all_t(int id)
{
for(int i=0;i<101;i++)
{
printf("%s",tovar[50][i])
}
}
};
Serror вне форума Ответить с цитированием
Старый 09.10.2009, 15:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну в целом да, только ты бы определил видимость для полей Private, Public...
И Зачем тебе ID в функцию вводить то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.10.2009, 16:04   #3
Serror
Пользователь
 
Регистрация: 03.10.2009
Сообщений: 19
По умолчанию

Ну я подумал что надо указывать в функции что типа надо вводить id склада.А вот с определением привата и паблика у меня проблемы.Понятно что:
Код:
class store
{
private:
char name[100];
char adress[100];
char tovar[50][100];
int id;
Я не знаю как обьявить функцию в паблике и описать в привате.Так,примерно в голове прикидываю но как это надо написать не знаю.
Serror вне форума Ответить с цитированием
Старый 09.10.2009, 16:18   #4
valeologiya
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 37
По умолчанию

char tovar[50][100];
__________|___|- количество символов в названии
__________|- количество товара
И в printf(%s) скорее всего надо кидать tovar[i] проверь

Обычно стараются разнести объявление и определение функции либо метода.
И еще не написал спецификацию объявления, напр: private:, public:

Цитата:
Сообщение от Serror Посмотреть сообщение
как обьявить функцию в паблике и описать в привате.
Ты должен сначала определиться приват она или паблик. Объявляешь там где определилися. А описание делаешь вообще отдельно.

Код:
void store::show_all_t(int id)
{
 бла бла бла
}

Последний раз редактировалось Stilet; 09.10.2009 в 16:41.
valeologiya вне форума Ответить с цитированием
Старый 09.10.2009, 16:35   #5
Serror
Пользователь
 
Регистрация: 03.10.2009
Сообщений: 19
По умолчанию

Ну на сколько я понял будет тип так:

Код:
class store
{
private:
char name[100];
char adress[100];
char tovar[50][100];
int id;
void store::show_all_t(int id)
{
for(int i=0;i<101;i++)
{
printf("%s",tovar[i])
}
}
public:
show_all_t(int id)
};
а вот допустим добавить новый товар или удалить уже имеющийся насколько я понял надо через конструктор и деструктор?
Serror вне форума Ответить с цитированием
Старый 09.10.2009, 16:38   #6
valeologiya
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 37
По умолчанию

ЭМ....я имел ввиду так:
В h файле:
Код:
class store
{
private:
char name[100];
char adress[100];
char tovar[50][100];
int id;

public:
void show_all_t(int id);
};
В С -файле

Код:
void store::show_all_t(int id)
{
for(int i=0;i<101;i++)
{
printf("%s",tovar[i])
}
}
Про конструктор и деструктор лучше чтобы кто-нибудь поумнее ответил, но, насколько я понимаю, они пишутся так же как и метод который мы с тобой только что написали, просто решают задачи инициализации. Но эдесь этого не надо. Здесь нужно еще 2 метода: добавить и удалить.

Последний раз редактировалось Stilet; 09.10.2009 в 16:46.
valeologiya вне форума Ответить с цитированием
Старый 09.10.2009, 16:47   #7
Serror
Пользователь
 
Регистрация: 03.10.2009
Сообщений: 19
По умолчанию

К примеру void new() и void del().А как их реализовать?
Serror вне форума Ответить с цитированием
Старый 09.10.2009, 16:56   #8
valeologiya
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 37
По умолчанию

new() и del() применяются для динамического выделения памяти (когда ты заранее не можешь сказать сколько у тебя будет элементов).
В данной же ситуации проще выделять память статически, что у тебя и делается. Тоесть берешь 100 с запасиком и не парешься.
Код:
char name[100];
char adress[100];
char tovar[50][100];
Так же и возьми складов с запасиком.
А добавлять товар....заведи в классе еще оду переменную - количество товара. При добавлении увеличивай её и добавляй товар в массив tovar. При удалении - уменьшай
valeologiya вне форума Ответить с цитированием
Старый 09.10.2009, 16:58   #9
Serror
Пользователь
 
Регистрация: 03.10.2009
Сообщений: 19
По умолчанию

Спасибо)))
Serror вне форума Ответить с цитированием
Старый 09.10.2009, 17:10   #10
valeologiya
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 37
По умолчанию

Ты там мне плюсиков поставь. Может быть кто-нить на мой вопрос ответит...
valeologiya вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели и переменные в функциях. Alexcomeback Общие вопросы C/C++ 6 28.09.2009 20:11
Форматирование текста в функциях. shadrikoff Microsoft Office Excel 5 26.02.2009 08:13
Небольшой этический вопросик о классах. Longedok Помощь студентам 2 04.08.2008 13:23
Код в поцедурах и функциях! Jondeer Общие вопросы C/C++ 1 10.06.2008 18:16
реализация стратегии на классах mahsus Общие вопросы C/C++ 1 28.12.2007 10:27