
Enviado em 13/01/2018 - 19:27h
Boa tarde, estou apredendo polimorfismo de sobrecarga porém o compilador está retornando esses erros:||=== Build: Debug in Sobrecarga Ex.A13a (compiler: GNU GCC Compiler) ===|
/home/TheBugLog/Documents/POO/Sobrecarga Ex.A13a/main.cpp||In function ‘int main()’:|
/home/TheBugLog/Documents/POO/Sobrecarga Ex.A13a/main.cpp|11|error: call of overloaded ‘reagir(int, double)’ is ambiguous|
include/Cachorro.h|19|note: candidate: void Cachorro::reagir(short int, short int)|
include/Cachorro.h|20|note: candidate: void Cachorro::reagir(short int, float)|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
#ifndef CACHORRO_H
#define CACHORRO_H
#include <string>
#include "Animal.h"
class Cachorro : public Animal{
public:
void locomover();
void alimentar();
void emitirSom();
public:
void reagir(bool dono);
void reagir(std::string frase);
void reagir(short hora, short minutos);
void reagir(short idade, float peso);
};
#endif // CACHORRO_H
#include <iostream>
#include "Cachorro.h"
void Cachorro::locomover(){
std::cout << "Correndo..." << std::endl;
}
void Cachorro::alimentar(){
std::cout << "Comendo ração..." << std::endl;
}
void Cachorro::emitirSom(){
std::cout << "Latindo..." << std::endl;
}
//Diferentes reações do cachorro
void Cachorro::reagir(bool dono){
if(dono==true){
std::cout << "Abanando Rabo" << std::endl;
}else{
std::cout << "Rosnando" << std::endl;
}
}
void Cachorro::reagir(std::string frase){
if(frase.compare("Vem aqui")==0){
std::cout << "Abanando rabo e feliz" << std::endl;
}else if(frase.compare("Vem aqui cachorro feio")){
std::cout << "Rosnando e abanando rabo" << std::endl;
}else{
std::cout << "Ignorando" << std::endl;
}
}
void Cachorro::reagir(short hora, short minutos){
if(hora<=12 && minutos<=59){
std::cout << "Abanando rabo e alegre" << std::endl;
}else if(hora<=18 && minutos<=59){
std::cout << "Abanando rabo e latindo" << std::endl;
}else{
std::cout << "Ignorando" << std::endl;
}
}
void Cachorro::reagir(short idade , float peso){
if(idade<=2 && peso <= 0.9){
std::cout << "Abanando rabo (novo e leve)" << std::endl;
}else if(idade>=3 && peso <= 0.9){
std::cout << "Abanando rabo e latindo (velho e leve)" << std::endl;
}else if(idade<=2 && peso >= 1){
std::cout << "Abanando rabo e rosnando (novo e pesado)" << std::endl;
}else{
std::cout << "Ignorando (velho e pesado)" << std::endl;
}
}
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









