Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 5 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал).
Показать в программе использование указателя на объект и указателя на компоненту-функцию.
Подскажтие, пожалуйста, девушке ;), как это можно реализовать или где это можно найти.



Партнер
 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Лови:
Код:
#include "stdafx.h"
#include <iostream>

class MyClass
{
public:
   typedef void (MyClass::*MethodPtr)();

   MyClass()
   {
      std::cout << "MyClass::MyClass()" << std::endl;
   }

   void Method()
   {
      std::cout << "MyClass::Method()" << std::endl;
   }

   ~MyClass()
   {
      std::cout << "MyClass::MyClass()" << std::endl;
   }
};


int _tmain(int argc, _TCHAR* argv[])
{
   MyClass *mcl = new MyClass();
   mcl->Method();

   //Through pointer to object method
   MyClass::MethodPtr ptr = &MyClass::Method;
   (mcl->*ptr)();
   
   delete mcl;
   return 0;
}

_________________
Ку ку


 

Спасибо!!! У меня есть еще один вопросик. Надо написать программу, в которой создается иерархия классов. Включить полиморфные объекты в связанный список, используя статические компоненты класса. Показать использование виртуальных функций. Может быть есть что-нибудь похожее?


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Это все легко можно сообразить, единственное, что не пойму, так это вот эту строку:
Lusi писал(а):
Включить полиморфные объекты в связанный список, используя статические компоненты класса.
Полиморфизм и статические функция сами по себе плохо сочетаются, так как статическая функция не может быть виртуальной. И связный список? Можно ли использовать std::list?

_________________
Ку ку


 

Препод такой, что ничего определеного сказать не может. Поэтому могу только написать тот порядок выполнения этой лабы, который он нам дал.
1. Определить иерархию классов (в соответствии с вариантом).
2. Определить в классе статическую компоненту - указатель на начало связанного списка объектов и статическую функцию для просмотра списка.
3. Реализовать классы.
4. Написать демонстрационную программу, в которой создаются объекты различных классов и помещаются в список, после чего список просматривается.
5. Сделать соответствующие методы не виртуальными и посмотреть, что будет.
6. Реализовать вариант, когда объект добавляется в список при создании, т.е. в конструкторе. Для добавления объекта в список предусмотреть метод класса, т.е. объект сам добавляет себя в список. Например, a.Add()  объект a добавляет себя в список.
Включение объекта в список можно выполнять при создании объекта, т.е. поместить операторы включения в конструктор. В случае иерархии классов, включение объекта в список должен выполнять только конструктор базового класса. Вы должны продемонстрировать оба этих способа.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 5 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan