2010-05-31 50 views
1
#include<iostream.h> 
class test{ 
    int a; 
    char b; 
public: 
    test() 
    { 
     cout<<"\n\nDefault constructor being called"; 
    } 
    test(int i,char j) 
    { 
     a=i; 
     b=j; 
     cout<<"\n\nConstructor with arguments called"; 
    } 
}; 
int main() 
{ 
    test tarray[5]; 
    test newobj(31,'z'); 
}; 

在上面的代碼片段中,我們可以初始化值爲tarray[5]一類對象數組

+0

當然,您初始化的元素將調用相應的構造函數,而未初始化的元素將通過默認構造函數實例化。 – 2010-05-31 06:52:03

回答

7
test tarray[5] = {test(1, 2), test(), test(5, 6), test()}; 

第五個元素將使用默認構造函數進行初始化。

//here length of array will be inferred from number of initializers, 
// so it's going to be 4 
test tarray[] = {test(1, 'a'), test(), test(5, 'b'), test()}; 
+0

tarray是類測試的一個對象,它有它自己的int a和char b.how我們可以初始化字符 – anurag18294 2010-05-31 06:28:18

+3

@anurag18294:tarray是一個'test'數組,而不是'test'的一個實例。但是,它的成員是'test'的例子。換句話說,沒有'tarray.b',只有'tarray [0] .b','tarray [1] .b'等 – 2010-05-31 06:30:47

+0

我們可以用這種方式初始化它 test tarray [5] = {試驗(1, 'A'),測試(3, 'b'),測試(5,6),測試(),測試(4, 'S')}; – anurag18294 2010-05-31 06:35:22