m_avrina
@m_avrina
Студентота.

Как вызвать нужный конструктор?

Всем привет!

Собственно задание было написать несколько видов конструкторов
Написал, но теперь как реализовать так, чтобы в меню выбрав пункт, допустим конструктор копирования перешлось именно к данном конструктору? Все конструкторы описаны в 1 классе( вот как пытаюсь это сделать я)
do 
		{
			system("cls");
			menu_next();
			cin >> triger;
			switch (triger)
			{
			case 1:
			{
				WorkWithArray obj1;
				_getch();
				break;
			}
			case 2:
			{
				WorkWithArray obj2(WorkWithArray obj1);
				_getch();
				break;
			}
			case 3:
			{
				WorkWithArray obj3;
				WorkWithArray obj4(obj3.setSecondArraySize(), obj3.setFirstArraySize());
				_getch();
				break;
			}
			/*case 4:
			{
			WorkWithArray obj5(NULL, NULL);
			}*/
			case 5:
			{
				WorkWithArray obj6(NULL, NULL);
				break;
			}
		}
		} while (triger != 123);


И вот, обычный конструктор
WorkWithArray()
	{
	firstArray = nullptr;
	SecondArray = nullptr;
	firstArraySize=0;
	SecondArraySize=0;
	min =0;

	//simpleConstructer
	firstArraySize = setFirstArraySize(); //конструктор инициализации
	SecondArraySize = setSecondArraySize(); //конструктор инициализации
	firstArray = CreateFirstdMemory(firstArraySize);
	SecondArray = CreateSecondMemory(SecondArraySize);
	min = compare(firstArraySize, SecondArraySize);
	LastArray = CreateLastMemory(firstArraySize,SecondArraySize,min,firstArray,SecondArray);
	OutputLastArray(LastArray,min);
	}

------------
//work with coppy constructur
	WorkWithArray(const WorkWithArray &workinArray)
	{
		int FirstArraySize = workinArray.firstArraySize;
		int SecondArraySize = workinArray.SecondArraySize;
		firstArray = CreateFirstdMemory(FirstArraySize);
		SecondArray =CreateSecondMemory(SecondArraySize);
		min = compare(FirstArraySize, SecondArraySize);
		LastArray = CreateLastMemory(FirstArraySize, SecondArraySize, min, firstArray, SecondArray);
		OutputLastArray(LastArray, min);
	}

Там же описан конструктор с параметрами, с постоянными параметрами и explicit

ООП начал изучать не давно, и честно, не знаю, верно ли я написал эти конструкторы( весь этот код рабочий:D)
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы