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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2010, 23:02   #1
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
По умолчанию разбиение на friend классы

Как мой класс можно разбить на 3 класса? (т.е. отдельный класс для имен, отдельный для значений и основной-банк). Как обращатся к методам от побочных классов в мэйне.
Код:
class bank	
{   
private:
	char *bank_name;
	char **name;
	int **value;
	int **salary;
public:
	int n,*vc;
	bank();
	~bank();
	void add( );
	void show( );
	void setsize();
};
bank::bank()
{
	 n=0;
	 int **value=0,**salary=0;
	 char **name='\0',*bank_name='\0';
}
void bank::setsize()
{
	cout<<" size (n):"<<endl;
	cin>>n;
}
void bank::add()
{
    bank_name=new char[33];
    cout<<"input bank_name\n"<<endl;
	cin>>bank_name;

	char str[55];
	vc=new int[n];
	name=new char *[n];
	value=new int *[n];
	salary=new int *[n];
for(int i=0;i<n;i++)
{
	system("cls");
	cout<<i<<":iput name:\n"<<endl;
	cin>>str;
	name[i]=new char[strlen(str)+1];
	strcpy(name[i],str);

	cout<<"input amount of values:";
cin>>vc[i];
value[i]=new int[n];
salary[i]=new int[n];
for(int j=0;j<vc[i];j++)
{
	cout<<"values:"<<j<<endl;
cin>>value[i][j];
cout<<"salary:"<<endl;
cin>>salary[i][j];
}
}
system("cls");
}
void bank::show()
{
	cout<<bank_name<<endl;
	for(int i=0;i<n;i++)
	{
	cout<<name[i]<<"\n";
	for(int j=0;j<vc[i];j++)
	{
   cout<<value[i][j]<<" "<<salary[i][j]<<endl;
	}
	}
}


bank::~bank()
{
	delete []name;
	delete []bank_name;
	delete []value;
	delete []salary;
	delete []vc;
}
void main()
{
	bank obj;
	obj.setsize();
	obj.add();
	obj.show();
	system("PAUSE");
}
zhenya.ya вне форума Ответить с цитированием
Старый 30.09.2010, 23:11   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Код:
bank::~bank()
{
	delete []name;
	delete []bank_name;
	delete []value;
	delete []salary;
	delete []vc;
}
ты неправильно чистишь свои указатели на указатели.
сначала в цикле нужно очистить память для каждого указателя, затем можно и очистить память, отведенную под эти указатели.

пример.
так создал
Код:
int **mass = new int*[10];
for (int i = 0; i < 10; i++)
    mass[i] = new int[100];
а так освободил
Код:
for (int i = 0; i < 10; i++)
    delete [] mass[i];
delete [] mass;
а по теме влом
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 30.09.2010, 23:33   #3
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
По умолчанию

Спс за замечание по очистке
Цитата:
а по теме влом
Напишите полседовательность и логику текстом, хоть...
zhenya.ya вне форума Ответить с цитированием
Старый 30.09.2010, 23:41   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2zhenya.ya
ты лучше опиши, что должно быть в итоге. вижу что банк с клиентами. чья зарплата? что такое value? задание вобщем какое
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 30.09.2010, 23:50   #5
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
По умолчанию

есь класс банк. у банка n-сотрудников(name),у каждого n-счетов(value), на каждом счете - зарплата.
Цитата:
ты лучше опиши, что должно быть в итоге
в итоге должно быть тоже самое что и код делает сейчас( просто выводит то, чо я забиваю с клавы). только, блин, как-то на 3 класса это разделить нужно всего-то.
zhenya.ya вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
friend function (c++) zhenya.ya Помощь студентам 6 01.10.2010 10:04
Есть готовый пример.Создание функций friend Aleksandr_Yanov Общие вопросы C/C++ 10 17.07.2010 04:57
friend функция в clr Lazio Общие вопросы C/C++ 5 27.02.2010 23:13
Как работает Google Friend Connect??? hoza_syl JavaScript, Ajax 3 12.01.2010 21:55
Класси Friend, помогите пожалуйста Suren Общие вопросы C/C++ 2 28.05.2009 22:42