24.11.2013, 00:05. Просмотров 299. Ответов 7
Вообщем сразу к сути. В нижеприведенном примере вызывается 2 деструктора. Я никак не пойму, почему именно два?
вот сам метод:
Кликните здесь для просмотра всего текста
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
| Distance Distance::add_dist(const Distance& d)const
{
Distance tmp;
tmp.feet=0;
tmp.inches=inches+d.inches;
if(tmp.inches>=12)
{
tmp.feet++;
tmp.inches-=12;
}
tmp.feet+=feet+d.feet;
return tmp;
} |
|
Вот вызов этого метода в мэйне(Поля dist2 и dist1 инициализированы):
Кликните здесь для просмотра всего текста
C++ |
1
| dist3=dist2.add_dist(dist1); |
|
Может кто объяснит почему?