1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#include <stdio.h> #include <string.h> #include "eto.h" _animal::_animal(const char* name) { if (strlen(name) < NAME_LEN) { strcpy(this->name, name); } else { strncpy(this->name, name, NAME_LEN - 1); this->name[NAME_LEN - 1] = '\0'; } } void _animal::show() { printf("私の名前は、%s です。\n", this->name); } _tori::_tori(const char *name) : _animal(name) {} void _tori::show() { printf("私は鳥。\n"); _animal::show(); } _inu::_inu(const char *name) : _animal(name) {} void _inu::show() { printf("私は犬。\n"); _animal::show(); }