Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.186.6] |
|
Сообщ.
#1
,
|
|
|
Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал).
Показать в программе использование указателя на объект и указателя на компоненту-функцию. Пожалуйста, подскажите девушке, как можно это реализовать или где найти |
Сообщ.
#2
,
|
|
|
#include <iostream> using namespace std; class A { static int count; int num; // хронологический номер объекта public: void (A::*fptr)(void); // указатель на метод класса A():num(count++) { cout << "constructor of object #" << num << endl; } ~A() { cout << "destructor of object #" << num << endl; } void f() { cout << "f() called by object #" << num << endl; } }; int A::count = 1; void main() { A a1, a2; A *pa3, *pa4; pa4 = &a1; // теперь pa4 указывает на объект a1 pa3 = new A(); // теперь pa3 указывает на новый, динамически созданный объект a2.fptr = &A::f; // получаем указатель на метод класса А (а именно - на метод A::f) (pa3->*a2.fptr)(); // вызываем через этот указатель метод (для объекта, на который указывает pa4 //... delete pa3; } Результат: constructor of object #1 constructor of object #2 constructor of object #3 f() called by object #3 destructor of object #3 destructor of object #2 destructor of object #1 надеюсь, это то, что тебе нужно |
Сообщ.
#3
,
|
|
|
Я тоже на это надеюсь. Спасибо!
Добавлено Я, конечно, не наглый человек, не у меня по объектному программированию 9 лаб! Поэтому у меня есть еще один вопросик. Надо написать программу, в которой создается иерархия классов. Включить полиморфные объекты в связанный список, используя статические компоненты класса. Показать использование виртуальных функций. Добавлено Может быть есть что-нибудь похожее? |