Hallo Forum! Ist es nötig bei C++, Membervariablen vom Typ string zu initialisieren? Hier ein kurzes Beispiel zu Erklärung:
1 | #include <string> |
2 | #include <iostream> |
3 | |
4 | using namespace std; |
5 | |
6 | |
7 | class TestClass |
8 | {
|
9 | public:
|
10 | TestClass(); |
11 | string get_value(); |
12 | void set_value( string value); |
13 | private:
|
14 | string m_string; |
15 | };
|
16 | |
17 | |
18 | TestClass::TestClass() |
19 | {
|
20 | m_string = ""; // <- nötig oder nicht? |
21 | }
|
22 | |
23 | string TestClass::get_value() |
24 | {
|
25 | return m_string; |
26 | }
|
27 | |
28 | void TestClass::set_value( string value) |
29 | {
|
30 | m_string = value; |
31 | }
|
32 | |
33 | |
34 | int main(int argc, char* argv[]) |
35 | {
|
36 | TestClass a; |
37 | |
38 | cout << "Test -->" << a.get_value() << "<--" << endl; |
39 | }
|
Auch ohne die Initialisirung von m_string im Konstruktor funktioniert es bei mir so wie es soll. Aber ist das immer und überall so?