|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include "haus.hpp"
void CHaus::InstallSwitch()
{
CSchalter m_schalter; //Temporäres Objekt erzeugen
m_schalter.setId(VerIdSchalter); //Id-Variable setzen
VerIdSchalter++;
schalter.push_back(m_schalter); //Objekt im Vektor speichern
m_schalter.~CSchalter(); //Temporäres Objekt löschen
}
void CHaus::InstallLight()
{
CLeuchte m_leuchte;
m_leuchte.setId(VerIdLeuchte);
VerIdLeuchte++;
leuchte.push_back(m_leuchte);
m_leuchte.~CLeuchte();
}
void CHaus::betrieb()
{
schalter[0].betaetigen();
}
int CHaus::VerIdSchalter = 0;
int CHaus::VerIdLeuchte = 0;
|
Hallo Zusammen,
Ich zähle mich noch zu den Anfängern, was das Programmieren angeht.
Ich schreibe hier ein Übungsprogramm und wollte fragen, ob meine Vorgehensweise so in Ordnung ist.
Ich meine also das mit dem Erzeugen eines temporären Objekts und dieses dann im Vektor abspeichern.
Was mich jedoch irritiert,ist die Tatsache, dass der Dekonstruktor beim Aufruf von
m_schalter.~CSchalter();
zweimal durchläuft.
Löscht der Aufruf etwa gleichzeitig mein Objekt im Vektor?