[問題] 計程考古題
問題1.
strlen和strcpy為什麼不用#include<string>也可以用啊??
問題2.
#include<iostream>
#include<cstring>
using std::cout;
class String
{
public:
String(const char *str)
{
int length = strlen(str);
buffer = new char[length + 1];
strcpy(buffer, str);
}
operator const char*()
{
return buffer;
}
private:
int length;
char *buffer;
};
int main()
{
String s("Good Luck!");
cout << (const char*)s;
return 0;
}
上面紅色那是什麼?
感覺他創造了新的operator??
而且還可以過 跑的很順 看了真火大
好啦火大不是重點 到底是為什麼哪個高手可以解說依下orz
問題3.
#include<iostream>
#include<string> //沒有也可以耶!!
using std::cout;
class String
{
public:
String(char *s)
{
length = strlen(s);
buffer = new char[length + 1];
strcpy(buffer, s);
}
char operator[](int index) {return buffer[index];}
private:
int length;
char *buffer;
};
int main()
{
String s("Good day!");
s[2] = 's'; //non-lvalue in assignment
return 0;
}
那行黃色的不會過原因已經寫了
可是應該要怎麼改呢(使s[2]變成's')
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.240.124
※ 編輯: jackwei 來自: 140.112.240.124 (01/17 02:01)
推
01/17 02:02, , 1F
01/17 02:02, 1F
※ 編輯: jackwei 來自: 140.112.240.124 (01/17 02:05)
推
01/17 02:06, , 2F
01/17 02:06, 2F
推
01/17 02:12, , 3F
01/17 02:12, 3F
推
01/17 02:13, , 4F
01/17 02:13, 4F
→
01/17 02:13, , 5F
01/17 02:13, 5F
推
01/17 02:14, , 6F
01/17 02:14, 6F
推
01/17 02:16, , 7F
01/17 02:16, 7F
→
01/17 02:18, , 8F
01/17 02:18, 8F
→
01/17 02:20, , 9F
01/17 02:20, 9F
推
01/17 02:32, , 10F
01/17 02:32, 10F
推
01/17 02:32, , 11F
01/17 02:32, 11F
推
01/17 10:41, , 12F
01/17 10:41, 12F