monstr
класы үшін көшіру конструкторын жазайық. Оның құрамында
символдар тіркесіне нұсқайтын
name
атты өріс бар болғандықтан, көшіру кон-
структоры жаңа тіркеске жады бөліп, оған бастапқы тіркесті көшіруі тиіс:
monstr::monstr(const monstr &M){
if (M.name){
name = new char [strlen(M.name) + 1];
strcpy(name, M.name);}
else name = 0;
health = M.health; ammo = M.ammo; skin = M.skin;
}
...
monstr Vasia (blue);
monstr Super = Vasia;
// Көшіру конструкторы
// жұмыс істейді
monstr *m = new monstr ("Ork");
monstr Green = *m;
// Көшіру конструкторы
// жұмыс істейді
ЕСКЕРТУ
Кез келген басқа типтегі бір параметрді қабылдайтын класс конструкторы түрлендіру
конструкторы деп аталады, өйткені ол параметр типінен осы класс типіне түрлендіруді
жүзеге асырады.
Иерархияға кіретін кластардың конструкторларын жазу ережелері
«Қарапайым мұралау» бөлімінде, 217 б. сипатталған.
Достарыңызбен бөлісу: |