[問題] constructor的問題

作者: unknown (ya)   2014-12-16 10:13:15
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
g++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
小弟是初學者,嘗試寫nested class,class B為class A 的class member。其中A的const
ructor如果放在initilization list裡會有預期的100 100;但放在function boy裡會
100 10的錯誤,想了解問題在哪?
餵入的資料(Input):
預期的正確結果(Expected Output):
100 100
錯誤結果(Wrong Output):
100 10
程式碼(Code):(請善用置底文網頁, 記得排版)
1 #include<iostream>
2 using namespace std;
3 class A
4 {
5 public:
6 A(int ia)
7 {
8 B Ted(ia);
9 i=ia;
10
解問疆11 private:
13 int i;
14 class B
15 {
16 public:
17 B()
18 {
19 j=10;
20 }
21 B(int jb)
22 {
23 j=jb;
24 }
25 private:
26 int j;
27 friend int main();
28 } Ted;
29 friend int main();
30
31 };
32
33
34 int main()
35
36 {
37 A tt(100);
38 cout<<tt.i<<"\t"<<tt.Ted.j<<endl;
39 return 0;
40
41 }
42
~
補充說明(Supplement):
作者: scwg ( )   2014-12-16 10:45:00
寫 A(){ B Ted(ia); } 是宣告區域變數 Ted, 沒有動到 classmember 的那個 Ted

Links booklink

Contact Us: admin [ a t ] ucptt.com