私はc++のクラスで学習していて、古いロシアの本から本のクラスに関する特定のコードを取得しました。それを変更して実行すると、動作しないので、authourがこのコードを使用した理由を理解するのに役立つ可能性があります(strdupは何ですか?行う?)
Author = strdup(autho);
コンストラクター内で、このコード行が間違っていました
Book s("edgar", "science", "chemistry for dummies", "502","12.11.13","1.12.96");
簡単な簡単な説明をお持ちの方はいますか?
以下のメインコード
using namespace std;
class Book{
char * Author;
char * Type;
char * Title;
int * Pages;
unsigned int * Yearpublished;
unsigned int * Publishing;
Book(char * autho, char * type, char * title, int * pages, unsigned int * yearpublished, unsigned int * publishing ){
Author = strdup(autho);
Type = strdup(type);
Title = strdup(title);
Pages = pages;
Yearpublished = yearpublished;
Publishing = publishing;
}
~Book(){
if(Author != NULL){
free(Author);
}
if(Type != NULL){
free(Type);
}
if(Title != NULL){
free(Title);
}
}
};
int main(){
cout << "main start" << endl;
Book s("edgar", "science", "chemistry for dummies", "502","12.11.13","1.12.96");
cout << "main finish" << endl;
return 0;
}