基礎的C 問題,一個基礎的C 問題

時間 2022-03-08 17:35:17

1樓:匿名使用者

for(int i=0;i

2樓:銜泥無珮

#include

using namespace std;

class string

~ string();

bool operator <(const string &a);

friend ostream& operator<<

return cin;}};

string ::string (int a)

string:: string(char *p)

else

cout<<"unknown"<

}string::~string()

//應該寫成+=吧,左運算元都改了

for(i=0;i

p[j]=0;

deletes;

s=p;

length+=a.length;

return *this;

}bool string:: operator <(const string &a)

int main()

追了半天才發現賦值有問題,構建了一個臨時物件,然後將這個物件返回給左值。但是這個臨時物件撤銷的時候把指標s開的陣列刪除了。用了一個複製建構函式以後就行了。

不過我要吐槽,錯誤太多了吧,特別是過載輸入輸出的時候。。。

3樓:龍__鳳

#include

#include

using namespace std;

class string

return cin;}};

{int i,j=0;

string temp;

temp.s=new char[length+a.length+1];

for(i=0;i

4樓:匿名使用者

首先你不應該把你的類命名為string,因為string在string庫中已經存在,你再命名成他,讓系統很難辨認你用的時候用的是誰。你可以用mystring來命名

C語言基礎問題

這個程式沒有錯誤。它的作用是在控制檯輸出一行hello the world編譯器編譯並生成exe程式,生成的exe程式是不等待使用者輸入的,執行完成後便自動關閉。也就是說,執行exe後,它會在控制檯輸出hello the word,然後退出。由於程式執行速度很快,所以你是看到閃了一下就消失了。想要看...

c語言指標基礎問題

如果p是 int 型別,且執行了p a 那麼p 1後指向陣列第二個元素,也就是你說的 p 2 如果p指向的是a的地址,p 1後指向後4個位元組,由於a不是陣列,所以後面的記憶體儲存的是什麼是不確定的,也許是上一次某變數釋放後的殘留資料的一部分,也可能是系統初始化後的原始資料 0xcccccccc 也...

還是一個狠狠狠狠狠狠基礎的C語言問題

你應該要返回 z 因為x,y是一個形參,當函式呼叫結束後它的值也就銷燬了。include int max int x,int y 如果函式寫主函式前面就不用宣告瞭,否則int max int x,int y 函式宣告應該放這裡 int main include int max int x,int y...