Ir para conteúdo
Fórum Script Brasil
  • 0

Construtores ?


Vraptor

Pergunta

Boa dia pessoal.

Estou com dificuldade em resolver esta saida de erro que meu compilador está me informando.

Segue:

#include "stdafx.h"

#include <iostream>

using namespace std;

class Esposa;

class Marido

{

public:

Marido(char *, float, float);

~Marido();

friend void Exibe(Marido, Esposa);

private:

char Nome1[10];

float Salario1;

float Inss1;

};

class Esposa

{

public:

Esposa(char *, float, float);

~Esposa();

friend void Exibe(Marido, Esposa);

private:

char Nome2[10];

float Salario2;

float Renda2;

};

int main()

{

Marido Homen("Fernando", 300.00, 500.00);

Esposa Mulher("Suely", 300.00, 0.00);

Exibe( Homen, Mulher);

cout << "\n\n\n";

system("Pause");

return 0;

}

Marido::Marido(char Nome11, float Salario11, float Inss11)

{

strcpy(Nome1, Nome11);

Salario1 = Salario11;

Inss1 = Inss11;

}

Marido::~Marido()

{

cout << "\n\nDestruindo Marido !";

}

Esposa::Esposa(char Nome22, float Salario22, float Renda22)

{

strcpy(Nome2, Nome22);

Salario2 = Salario22;

Renda2 = Renda22;

}

Esposa::~Esposa()

{

cout << "\n\nDestruindo Esposa !";

}

void Exibe(Marido H1, Esposa M1)

{

cout << "Nome: " << H1.Nome1 << endl;

cout << "Salario: " << H1.Salario1 << endl;

cout << "INSS: " << H1.Inss1 << endl;

cout << "Nome: " << M1.Nome2 << endl;

cout << "Salario: " << M1.Salario2 << endl;

cout << "Renda menssal do casa: " << H1.Nome1 << " e "

<< M1.Nome2 << " :R$ ";

M1.Renda2 = H1.Salario1 - H1.Inss1 + M1.Salario2;

cout << M1.Renda2 << endl;

}

O compilador:

Compiling...

friend01.cpp

\friend01.cpp(46) : error C2511: 'Marido::Marido(char,float,float)' : overloaded member function not found in 'Marido'

\friend01.cpp(10) : see declaration of 'Marido'

\friend01.cpp(58) : error C2511: 'Esposa::Esposa(char,float,float)' : overloaded member function not found in 'Esposa'

\friend01.cpp(22) : see declaration of 'Esposa'

alguém poderia dar uma pequena dica, não consigo encontrar o erro.

Abraços Daniel.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Você fez a declaração da classe e da implementação diferentes:

Marido(char *, float, float);
Esposa(char *, float, float);
Marido::Marido(char Nome11, float Salario11, float Inss11)
Esposa::Esposa(char Nome22, float Salario22, float Renda22)

Note que o primeiro é char * e o segundo é somente char.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...