Добавил виртуальность конструкторам

This commit is contained in:
parent 7f317fce22
commit 267a1226ed
3 changed files with 5 additions and 4 deletions

View File

@ -6,6 +6,7 @@
class I_Model
{
public:
virtual ~I_Model() {}; // Виртуальный деструктор для корректной работы деструкторов в полиморфизме
virtual void render(VkCommandBuffer commandBuffer) = 0;
protected:
virtual void bindBuffers(VkCommandBuffer commandBuffer) = 0;

View File

@ -9,7 +9,7 @@ class Model_wo_indexes : public I_Model
{
public:
Model_wo_indexes(Vertex* vertexArray, uint32_t verteciesCount);
~Model_wo_indexes();
virtual ~Model_wo_indexes();
virtual void render(VkCommandBuffer commandBuffer);
protected:
void bindBuffers(VkCommandBuffer commandBuffer); // привязка используемых буферов данных
@ -23,7 +23,7 @@ class Model_w_indexes : public Model_wo_indexes
{
public:
Model_w_indexes(Vertex* vertexArray, uint32_t verteciesCount, uint32_t* indexArray, uint32_t indeciesCount);
~Model_w_indexes();
virtual ~Model_w_indexes();
virtual void render(VkCommandBuffer commandBuffer);
protected:
void bindBuffers(VkCommandBuffer commandBuffer); // привязка используемых буферов данных

View File

@ -2,6 +2,8 @@
#include "vk.h"
#include <iostream>
// Конструктор класса без индексов - принимает массив вершин
Model_wo_indexes::Model_wo_indexes(Vertex* vertexArray, uint32_t count) : verteciesCount(count)
{
@ -14,7 +16,6 @@ Model_wo_indexes::Model_wo_indexes(Vertex* vertexArray, uint32_t count) : vertec
Model_wo_indexes::~Model_wo_indexes()
{
extern Vulkan vulkan;
vulkan.destroyBuffer(vertexBuffer);
}
@ -47,7 +48,6 @@ Model_w_indexes::Model_w_indexes(Vertex* vertexArray, uint32_t vCount, uint32_t*
Model_w_indexes::~Model_w_indexes()
{
extern Vulkan vulkan;
vulkan.destroyBuffer(indexBuffer);
}