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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2012, 22:15   #11
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Суть вообщем такая: Мы делаем указатель Cfile *pstr. Далее мы захватываем память
Код:
 pstr = new Cfile[n]
Но при создании новых элементов срабатывает конструктор(т.е их сразу нужно проинициализировать, задать параметры.) Но. т.к мы захватываем память а уже потом инициализируем - то он конструктора стоит отказаться. Нужно создать метод который устанавливает параметры. Сейчас распишу в коде.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 06.11.2012, 22:30   #12
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Код:
#include <string.h>
#include <string.h>
#include <iostream.h>
#include <windows.h>
#include <iomanip>
class Cfile
{
public:
	char name[20];
	float memory;
	int data;
	int kol;
	Cfile ()
	{
		// конструктор по умолчанию
	}
//	удаляем конструктор Т.К МЫ делаем динамический за
   /* Cfile(char *name1, float mem1, int data1, int kol1)
	{
	  strcpy(name, name1); 
	  memory=mem1;
	  data=data1; 
	  kol=kol1;
	}*/
	void SetParam(char *name, float memory, int data, int kol )
	{
		// метод задания параметров
		strcpy(this->name, name); 
		this->memory=memory;
		this->data=data; 
		this->kol=kol;
// this-> - указатель на элемент текущего класса.(т.к совпадают имена аргументов функции и элементов класса)
	}
	void Setname(char *name1)
	{
		strcpy(name, name1);
	}
	void Setmemory(float mem1)
	{
	  memory=mem1;
	}
	void Setdata(int data1)
	{
	  data=data1;
	}

	void Setkol(int kol1)
	{
	  kol=kol1;
	}
	char *Getname()
	{
	  return name;
	}
	char Getname1()
	{
		return name[2];
	}
	float Getmem()
	{
	  return memory;
	}
	int Getdata()
	{
	  return data;
	}
	int Getkol()
	{
	  return kol;
	}
	void Show()
	{
	  cout<<"     "<<name<<"      "<<memory<<"      "<<data<<"      "<<kol<<endl;
	}

};

void main()
{
	Cfile *ptst;
	int N; // объявили указатель на тип Cfile
	cout<<"введите размерность массива  ";
	cin>>N;
	ptst = new Cfile [N];
	char name1[20];
	int data1, kol1;
	float mem1;
	for(int i=0; i<N; i++)
	{
		cout<<"\nВведите название файла ";
		cin>>name1;
		cout<<"\nВведите занятую память ";
		cin>>mem1;
		cout<<"\nВведите дату ";
		cin>>data1;
		cout<<"\nВведите количество ";
		cin>>kol1;
		cout<<"\n";
		// вызываем метод задания параметров
		ptst[i].SetParam(name1, mem1, data1, kol1);
		
	}
   // zagolovok();
	//out(ptst, N);
	//sort(ptst, N);
	//zagolovok();
	//out(ptst, N);
	delete [] ptst;
}
Вот в коде. Методы, которые я закомментил, вызываются от имени созданного объекта. Просто делал объявление и main в одном файл. Разберетесь?
Также можно там где инициализация писать:

Код:
(*(ptst+i)).SetParam(name1, mem1, data1, kol1);
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com

Последний раз редактировалось kventin_zhuk; 06.11.2012 в 22:37.
kventin_zhuk вне форума Ответить с цитированием
Старый 06.11.2012, 23:02   #13
whh
Пользователь
 
Регистрация: 01.11.2012
Сообщений: 14
По умолчанию

Большое спасибо! Все работает на ура!
whh вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив обьектов Celestia Общие вопросы Delphi 1 15.05.2012 23:48
Динамический массив, массив указателей alexalisa Паскаль, Turbo Pascal, PascalABC.NET 4 22.04.2011 21:33
Динамический массив - или всё таки не динамический? vedro-compota Общие вопросы C/C++ 30 10.12.2010 23:22
C, динамический массив kira_truelove Помощь студентам 1 24.10.2010 18:44
Динамический массив Zhanna5006 Помощь студентам 7 10.01.2010 14:09