Я новичок в C++, и я пытаюсь создать экземпляр Player, который принимает аргумент RoleCard. Я хотел бы иметь возможность пройти MedicCard, которая наследует RoleCard в Driver.cpp. Однако я не могу найти подходящий способ сделать это. Моя цель состояла бы в том, чтобы динамически изменять переменную roleCard для создания новых экземпляров проигрывателя.Передача дочернего класса в качестве параметра в конструкторе
Driver.cpp
RoleCard roleCard;
MedicCard medicCard;
roleCard = medicCard;
Player demoPlayer(roleCard);
Player.h
#pragma once
#include "RoleCard.h"
#include <string>
#include <vector>
class Player
{
public:
Player();
Player(RoleCard rolecard);
};
Player.cpp
#include "stdafx.h"
#include "Player.h"
#include<string>
using namespace std;
Player::Player()
{
}
Player::Player(RoleCard roleCard)
{
}
RoleCard.h
#pragma once
class RoleCard
{
public:
RoleCard();
};
class MedicCard: public RoleCard
{
public:
MedicCard();
};
RoleCard.cpp
#include "stdafx.h"
#include "RoleCard.h"
using namespace std;
RoleCard::RoleCard()
{
}
MedicCard::MedicCard()
{
}
Что такое ошибка в частности? Пожалуйста, добавьте текст ошибки дословно на свой вопрос ([edit]). –
Это не ваша ошибка. Скопируйте/вставьте исходный вывод из компилятора. Если это _is_ ваша ошибка, код, который вы показываете нам, - это не код, который вы пытаетесь скомпилировать; пожалуйста, предоставьте [mcve] и покажите нам вывод _that_. –