1樓:匿名使用者
其實很簡單,只要你對類的建構函式和解構函式了解的差不多。
首先說第一個問題:
/////為什麼會突然出現"string t(p)"//
在函式 string::operator+(const char*p)中,它接受一個字元指標p,返回一個string類物件,這個你懂吧?這就好辦了,這個函式想返回一個string類物件,必須先建立一個物件吧?
所以有string t(p);利用了
string(const chat*s)
這個建構函式,即把指標p傳給建構函式,新建一個物件。
然後第二個:t=*this+t; /////為什麼會有兩個t,它們各表示什麼//
第一個t是等待被賦值的string類物件,*this就是當前物件的內容,也就是誰呼叫了string::operator+(const char*p),*this就是誰(這裡是另一個string物件)。然後*this+t就是把兩個string類物件相加,最後賦給物件t。
給你舉個例子:
#include
#include
int main()
這個程式就呼叫了過載運算子,使string類物件內容變為「kkk is n0.1 kkk is a good man」
呵呵,到這你應該懂了一點吧?
/////////"t(p)"表示什麼,為什麼p在括號內//
我這個還用說嗎?這是新建一個string類物件,以字元指標p作為引數,所以要在括號內。
{char temp[4096]; ///temp[4096]是什麼///
你應該知道陣列吧?比如int myint[10]就是建立一個整數變數陣列,而且大小為10個整數的大小,同理,
char temp[4096]就是建立一個字元陣列(和指標類似,就是有大小限定,指標沒有限定),該字元陣列的大小為4096個字元。
in>>temp; ///in>>是什麼意思///
這是輸入流的一個操作符,意思是從鍵盤輸入的內容(流)送入到計算機內供處理。這個操作符被過載了,所以你可以從鍵盤上直接輸入一個string類物件,比如這樣cin>>mystring;就可以實現了。(mystring就是一個string類物件)
out<>" 與 "<<"有什麼作用
我就不用說這個了吧?
1.設數列為1,3,5,7,9,11,13,15,17,19,動態輸入在陣列array中,然後順序 20
2樓:斯柯雲
第一題:
#include
using namespace std;
int main()
;int i = 0;
while(i<10)cout<=0)cout<<--i<<",";cout<
using namespace std;
int a[3][3]=(1,2,3,4,5,6,7,8,9};
int main()
return 0;}
求c定義大小為10的整型陣列用隨機產生的數
你是要控制檯還是windows窗體程式?這個是控制檯的,你要是要windows窗體版的改下最後權 的就是int a new int 10 random r new random for int i 0 i a.length i a i r.next array.sort a array.revers...
使用隨機函式初始化具有元素的陣列,使數陣列元素的
rapter我沒抄裝,用c語言寫的bai 你直接呼叫getmaxnum函式就可以了。du include include include int main int getmaxnum 獲取10個隨zhi機值 dao11 99 中最大的數 狐俠 情思如麻 落葉秋風,冷月黃花,夜夜相伴,情思如麻。飛針走...
matlab如何定義未知大小的陣列
arr arr 1 1 arr 2 2 arr 10 10 這樣就行,和c不一樣,不需要手動開闢空間。matlab怎麼定義一個陣列 a n input n 陣列 的長度for i 1 n fprintf a 0f i x input 分別輸入各個數的值a a,x enda 就可以得到長度為n的陣列了...