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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 17:28   #1
SevenXP
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 44
По умолчанию Создание одномерного диномического массива в Классе

Не могу понять как создать диномический массив в классе
Код:
class massiv
{         
   int n;	
public:
	int* mas;

	massiv (int i): n(i){ 

	mas = new int[n];
	for (int i=0; i>n; i++){ 
		mas[i]=i;} }
	
	~massiv() { delete this;}
	 
	
};

int main()
{ 
	massiv *a = new massiv(5);
		
		cout<<" № "<<a->mas[2]<<endl;



	_sleep(3000);
	return 0;
}
SevenXP вне форума Ответить с цитированием
Старый 23.05.2012, 17:41   #2
SevenXP
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 44
По умолчанию

Как обычно ответ нашел сам))

Код:
//

#include "stdafx.h"
#include <iostream>
using namespace std;

class massiv
{         
   
public:
	int* mas;
	int n;	
	massiv (int i): n(i), mas(new int[i]){ 
		for (int i=0; i<n; i++){
		mas[i]=0;}
	 }
	
	~massiv() { delete this;}
	 
	
};

int main()
{ 
	massiv *a = new massiv(5);
		
		cout<<" № "<<a->mas[1]<<" size "<<a->n<<endl;



	_sleep(3000);
	return 0;
}
Теперь мне нужно инициализировать массив чере set какая библиотека должна быть подключена и как ей пользоваться я находил Set <int,1,10> b;

Последний раз редактировалось SevenXP; 23.05.2012 в 17:56.
SevenXP вне форума Ответить с цитированием
Старый 23.05.2012, 18:40   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от SevenXP Посмотреть сообщение
Как обычно ответ нашел сам))

Код:
~massiv() { delete this;} //Этот код очень дурно пахнет.
Плохо ты искал ответ. Ищи дальше
_Bers вне форума Ответить с цитированием
Старый 23.05.2012, 18:52   #4
SevenXP
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 44
По умолчанию

Дело все равно не в диструктре. Там понятно нужно будет что то вроде delete mas;

Мне счас важнее как

mas[i]=set<int,-10,10>;
Пишет не знает функции Set.
SevenXP вне форума Ответить с цитированием
Старый 23.05.2012, 19:44   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://www.cplusplus.com/reference/stl/set/
_Bers вне форума Ответить с цитированием
Старый 23.05.2012, 19:57   #6
SevenXP
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 44
По умолчанию

ТУТ ЧТО ВСЕ ПО ВЫМЕРАЛИ!!!

Код:
class massiv
{         
   
public:
		int* mas;
	int n;
	massiv (int i): n(i), mas(new int[i]){ 
		for (int i=0; i<n; i++){
		mas[i]=0;}
	 }
	
	~massiv() { delete[] mas;}
	 
	void inic_massiv(){
		int a;
	for (int i=0; i<n; i++){
	
		mas[i]=0;}
	}


	void set() {
		cout<<"VVedite ("<<n<<") elementov massiva"<<endl;
	for (int i=0; i<n; i++){
		cin>>mas[i];	}}

	void get() {
		cout<<endl<<" Massiv "<<endl;
	for (int i=0; i<n; i++) {
		cout<<mas[i]<<endl;	}
		}

};


class massiv2: public massiv{
	massiv2 (int i):massiv(i):n(i),mas(new int[i]) { }
};
Как унаследовать правильно конструкто или показать что бы конструктор класса massiv2 работал как констр massiv

Блин Public: не хватало перед конструктором) и massiv2 (int i):massiv(i) { }

Последний раз редактировалось SevenXP; 23.05.2012 в 21:49.
SevenXP вне форума Ответить с цитированием
Старый 25.05.2012, 17:42   #7
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Конструкторы не наследуются. Поэтому в производном классе необходимо определить собственный конструктор, в котором еще и будет вызываться конструктор базового класса, а в инициализировать сам массив не нужно, к тому же, так выделять память нельзя. Тело конструктора остается пустым.
rmv240899 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обнулить элементы строки двумерного массива, содержащей наибольшее количество элементов одномерного массива griignat Помощь студентам 1 22.11.2011 20:04
Обработка одномерного массива tomriddle Паскаль, Turbo Pascal, PascalABC.NET 1 03.02.2011 18:14
матрица из одномерного массива hunter03 Помощь студентам 3 30.11.2010 22:34
Задача одномерного массива на Си++ Клеом Помощь студентам 1 26.09.2009 21:49
Задачка одномерного массива Клеом Помощь студентам 2 26.09.2009 19:20