Форум программистов, компьютерный форум CyberForum.ru

полиморфизм - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Имитационная модель интерне - кафе. Ошибки http://www.cyberforum.ru/cpp-beginners/thread1064798.html
Всем доброго времени суток. Помогите пожалуйста исправить ошибки в коде программы, которая имитирует работу интернет-кафе. Сил уже нет. // Интернет-кафе.cpp: #include "stdafx.h" #include <conio.h> #include <iostream> #include <iomanip> #include <math.h> #include <stdlib.h> #include <time.h>
C++ fstream в файлах классов Решил поработать с классами и столкнулся со следующей проблемой: Сразу выложу код: TUchenik.h #pragma once class TUchenik { public: TUchenik(void){}; ~TUchenik(void){}; http://www.cyberforum.ru/cpp-beginners/thread1064797.html
Проверьте программу C++
Здравствуйте,Написал программу по этой задаче:Разработать функцию rectPS(x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1, y1), (x2, y2) его противоположных вершин (x1, y1, x2, y2 — входные, P и S — выходные параметры). В качестве результирующего значения функция должна возвращать истину, если прямоугольник не...
Ускорение програмки C++
#include <stdio.h> #include <string.h> #include <stdlib.h> struct Tree { char s; struct Tree *d; };
C++ Подскажите, пожалуйста, где ошибка http://www.cyberforum.ru/cpp-beginners/thread1064782.html
Очень нужна помощь время поджимает. Задание: Вычислить произведение натуральных чисел, кратных 5, от і до n. Программа: #include<iostream.h> #include<stdio.h> int main() { int n, i, k=0; cout<<"Vvedite n:";
C++ Прокомментируйте код while(true){ cin>>temp; //temp переменная типа double if(!cin){ cin.clear(); if(cin.peek()=='|'){ while(cin.get() != '\n'); break; } else { подробнее

Показать сообщение отдельно
ТОрчОК
Заблокирован
07.01.2014, 12:44     полиморфизм
необходима инициализация дескрипторов HWND и HINSTANCE общего для всех объектов класса, т.е. не для каждого отдельного экземпляра класса GameGraphic а для класса в целом. в статике не получается требуется инициализировать заранее.
Что можете посоветовать в исправлении данного кода с точки зрения ООП.
C++
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef _GAMEGRAPHICSOBJECT_H_
#define _GAMEGRAPHICSOBJECT_H_
#include "stdafx.h"
class GameGraphic
{
protected:
    HINSTANCE hInstance;
    HWND hwnd;
public:
    GameGraphic(HWND hWnd, HINSTANCE hInst);
};
 
interface player: public GameGraphic
{
protected:
    static int nhlth;
    HANDLE hbitmap_player;
    BITMAP bitmap_player;
    HDC memoryDC;
public:
    player(HWND hWnd, HINSTANCE hInst) : GameGraphic(hWnd, hInst) {}
    virtual int SetHealth(int nhealth) = 0;
    virtual void DrawBitmap(HDC hdcDest, HDC hdcSrc, int xDest, int yDest) = 0;
};
 
interface Background: public GameGraphic
{
protected:
    HDC MemoryDC;
    BITMAP Bitmap;
    HANDLE hBitmap;
public:
    Background(HWND hWnd, HINSTANCE hInst) : GameGraphic(hWnd, hInst) {}
    virtual void CreateBackground() = 0;
    virtual void DrawBackground(HDC hdc, int xDest, int yDest, int nWidthDest, int HeigthDest,
                                int yBitmap, int xBitmap, int nWidthBitmap, int nHeightBitmap) = 0;
};
 
class HaloBeretta: public player
{
public:
    HaloBeretta(HWND hWnd, HINSTANCE hInst) : player(hWnd, hInst) {}
    void Init(int resource);
    int SetHealth(int nhealth);
    void DrawBitmap(const Background& currentBackground, int xDest, int yDest);
};
 
class City: public Background
{
public:
    City(HWND hWnd, HINSTANCE hInst) : Background(hWnd, hInst) {}
    void CreateBackground();
    void DrawBackground(HDC hdc, int xDest, int yDest, int nWidthDest, int HeigthDest,
                        int yBitmap, int xBitmap, int nWidthBitmap, int nHeightBitmap);
};
#endif
Добавлено через 3 минуты
нормально ли объявлять данные в абстрактном классе. в интерфейсах у меня данные. или лучше оставлять только виртуальные методы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru