Содержание
- 2. Nortel Networks Confidential Друзья класса Обычное объявление функции-члена гарантирует: функция имеет доступ к закрытой части класса
- 3. Nortel Networks Confidential Друзья класса. Пример class Coord { int x, y, z; //... Coord& operator+=(const
- 4. Nortel Networks Confidential Друзья класса. Пример-2 class Vector { float V[4]; //... friend Vector operator*(const Matrix&,
- 5. Nortel Networks Confidential Классы-друзья Все методы класса-друга являются функциями-друзьями Классы друзья используются для отображения тесно связанных
- 6. Производные классы
- 7. Nortel Networks Confidential Введение Классы используются для моделирования концепций реального и программного мира Производные классы предназначены
- 8. Nortel Networks Confidential Производные классы class Employee { public: Employee(string _name, string _surname); ~Employee(); void hire(Date
- 9. Nortel Networks Confidential Производные классы name surname hire_date fire_date Employee:: name surname hire_date fire_date ---- team
- 10. Nortel Networks Confidential Производные классы Date start_date(1,1,2004), end_date(31,12,2007); Employee emp(“Vasya”, “Pupkin”); emp.hire(start_date); cout cout emp.print() emp.fire(end_date);
- 11. Nortel Networks Confidential Производные классы и указатели Programmer *prog1 = new Programmer(“Petr”, “Petrov”, “GM12”); Employee *emp1
- 12. Nortel Networks Confidential Функции-члены class Employee { string name, surname; //... public: void print() const; string
- 13. Nortel Networks Confidential Функции-члены 2 int main() { Employee emp(“Vasya”, “Ivanov”); Programmer prog(“Petr”, “Petrov”, “GM12”); emp.print();
- 14. Nortel Networks Confidential Конструкторы class Employee { string name, surname; public: Employee(const string&, const string&); };
- 15. Nortel Networks Confidential Programmer::Programmer( const string& name, const string& sname, const string& t) : name(name), surname(sname),
- 16. Nortel Networks Confidential Копирование Копируется только Employee-часть Programmer – срезка. class Employee { //... Employee(const Employee&);
- 17. Nortel Networks Confidential class Employee { string name, surname; public: Employee(const Employee&); Employee& operator=(const Employee&) //...
- 18. Nortel Networks Confidential Копирование (продолжение) Programmer::Programmer (const Programmer& rp) : Employee(rp), team(rp.team) { } Programmer& Programmer::operator=(const
- 19. Nortel Networks Confidential Иерархия классов class Employee {/*...*/}; class Programmer: public Employee {/*...*/}; class Team_leader: public
- 20. Nortel Networks Confidential Иерархия классов - 2 class Team_leader: public Programmer { public: Team_leader(string n, string
- 22. Скачать презентацию