[q]VC++
потому что параметр передается по значению!
Когда ты вызываешь Myfunc(A то создается новый экземпляр класса с вызовом copy-конструктора и значение этого экзепляра передается в функцию. По завершению работы функции для экземпляра, естественно, вызывается деструктор.
Правильное объявление в этом случае:
void Myfunc ( Myclass & A)
Оставить комментарий
marizha
почему функция, получающая в качестве аргумента некий класс, по завершению "обнуляет" его:void Myfunc( Myclass A)
{
}
вернее не обнуляет, а запускает диструктор начального класса... или мне это кажется, но указатели, содержащиеся внутри класса удаляются по завершении функции, а это происходит тоько в диструкторе ? ведь я не передаю функции указателя? или это встроено по-умолчанию, то что функция получает указатель на класс в любом случае, но зачем же его обнулять...