Всем привет!
Собственно задание было написать несколько видов конструкторов
Написал, но теперь как реализовать так, чтобы в меню выбрав пункт, допустим конструктор копирования перешлось именно к данном конструктору? Все конструкторы описаны в 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)