1樓:
1.為什麼s作為私有資料這裡可以通過s1訪問
每個類都維持著自己的乙個類域
而成員函式本身的定義就屬於這個類域
成員函式擁有訪問該類的公有成員和私有成員的特權
就是說對成員函式的訪問許可權是定義在類的範圍而不是物件的範圍,成員函式可以訪問該類所有的資料成員(不論它們屬於哪個具體的物件)
2. s3=s1+s1;/*為什麼這個式子執行會出錯*/
strcat(s,s1.s);是將字串s1.s附加到字串s後面,意味著s所擁有的記憶體空間必須能裝下此兩個字串。
但是看看你為s分配的空間,從來都是沒富裕的。所以只要是呼叫str operator+(str s1)
就會陣列越界。越界早在上一句s3=s1+s2;就發生了,但沒引起致命錯誤,直到此句才「報應」了。陣列越界的反應「不可」**。
建議:修改str operator+(str s1)
str operator+(str s1)
另外:在str(char *s1)定義中
s=new char[len]; //最好改為s=new char[len+1];多一位元組給字串結束符
2樓:匿名使用者
出錯是應為空間不夠吧。strcat需要有足夠空間的。正規做法是先分配乙個足夠容納兩個字串的空間,然後再拷貝連線,不是你這種做法的。必然異常。
關於c語言的問題,本人初學,不懂,這段程式還希望大神路過
這個程式就是再求你所領的工資應該叫的稅收。分為五種情況。小於2000 in e 2000 in e 2500in e 2500 in e 4000in e 4000 in e 7000in e 7000 每種情況對應著一種稅收 一道關於c語言的題,我完全看不懂是什麼意思,希望有大神能夠解釋一下下面的...
關於娶兩個老婆的問題,關於娶兩個老婆的問題
臉皮比豬皮還厚啊,還想娶2個老婆,是不是舊社會的電視看多了,想姨太太想瘋了啊?跟你說,你在中國想都不要想,這是道德問題!這種情況是不合法的,如果在中國被查出來你就是犯了重婚罪了,小心為好 真是麻煩,不如跑到回教國家移民,可以娶四個老婆。或者去西方開放國家,大街上老婆多的是,天天可以換新人啦,不過需要...
關於英語的兩個問題
1 及物動詞加不定式做賓語,不及物動詞加不定式做狀語 he likes to swim he goes out to swim.2 動詞可以分為實義動詞,助動詞,情態動詞和系動詞。其中實義動詞還可以分為及物和不及物兩種。它們分別是不同類的動詞,系動詞怎麼能是不及物動詞呢?但是有一些半系動詞可以由實義...