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;
}
}
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (8)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)