2 つのプライベート メンバ int length と文字ポインタを持つクラス String を作成しました。これらのメンバーを初期化する 2 つのコンストラクターがあります。コードで s1.print() が機能しないのはなぜですか?
#include <iostream>
#include <string.h>
using namespace std;
class String {
int length;
char * ptr;
public:
String(int N, char s[]) {
ptr = new char[N];
strcpy(s, ptr);
}
String(int N) {
ptr = new char[N];
}
String concat(String s2) {
String result(s2.length + length, strcat(ptr, s2.ptr));
}
void print(void) {
cout << ptr << endl;
}
};
int main() {
char temp[50];
cin >> temp;
String s1(strlen(temp) + 1, temp);
//String s2(strlen(temp)+1, temp);
s1.print();
//s1.concat(s2);
//s1.print();
return 0;
}