• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nauka dziedziczenia, nie rozumiem, sfml

VPS Starter Arubacloud
0 głosów
155 wizyt
pytanie zadane 4 listopada 2018 w C i C++ przez Aleksander Początkujący (360 p.)

stworzyłem dwie klasy i chce ustawić shape z klasy zombie danymi z zombie odziedziczoną metodą update z klasy player. Gdy odpalam to program działa ale nie wyświetla shape zombie.

#include <SFML/Graphics.hpp>
#include "Player.h"
#include "Zombie.h"
#include <iostream>
int main()
{
    sf::RenderWindow window(sf::VideoMode(1920, 1080), "SFML works!");//sf::Style::Fullscreen
    window.setFramerateLimit(60);
    Player p1;
    Zombie z1;


    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }


        window.clear();

        p1.update();
        z1.update();

        window.draw(p1.shape);
        window.draw(z1.shape);
        window.display();
    }
    return 0;
}
#ifndef ZOMBIE_H
#define ZOMBIE_H
#include "Player.h"

class Zombie : public Player
{
    public:
        Zombie();
        sf::CircleShape shape;
        int x=500;
        int y=500;
        int r=100;

    protected:
    private:
};

#endif // ZOMBIE_H
#ifndef PLAYER_H
#define PLAYER_H
#include "SFML/Graphics.hpp"
#include <iostream>

class Player
{
    public:
        sf::CircleShape shape;
        Player();

        int x=100;
        int y=100;
        int r=40;

        void update();

    protected:
    private:
};

#endif // PLAYER_H
#include "Player.h"
Player::Player()
{
    shape.setOrigin(r,r);
}

void Player::update()
{
    shape.setPosition(x,y);
    shape.setRadius(r);
    shape.setFillColor(sf::Color::Blue);
}

 

1 odpowiedź

0 głosów
odpowiedź 4 listopada 2018 przez niezalogowany
class Zombie : public Player
{
public:
	Zombie()
	{
		x = 500;
		y = 500;
		r = 100;
	}

protected:
private:
};

Możesz też użyć listy inicjalizacyjnej.

Podobne pytania

0 głosów
1 odpowiedź 513 wizyt
0 głosów
3 odpowiedzi 2,175 wizyt
0 głosów
1 odpowiedź 208 wizyt

93,005 zapytań

141,971 odpowiedzi

321,249 komentarzy

62,341 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...