質問
C++を学び始めたのですが、ポインタについてあまり理解ができておらず、プログラムは書けましたが何故正しく動くのかがわかりません。(てっきり間違っていると思っていました。)Birthdayクラスの中でyearはポインタ変数として宣言されていますが、cout<<year でyear の中身が表示されるのは何故でしょうか。year そのものだとアドレスを表示し、*yearがその中身を表すのではないのですか?回答よろしくお願いします。
該当のソースコード
C++
1class Birthday{ 2 public: 3 void birthin(){cin >> birth;} 4 void birthchange(){ 5 year = strtok(birth, "-"); 6 month = strtok(NULL, "-"); 7 day = strtok(NULL, "\0"); 8 } 9 void birthout(){cout<< "Birthday: " <<year << "-" << month << "-" << day <<endl;} 10 protected: 11 char birth[12]; 12 char* year ;char* month; char* day; 13};
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/07 16:19