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

Acessando variável de uma classe em outra classe.


JardelCss

Pergunta

Boa noite pessoal, minha duvida é a seguinte preciso acessar uma variável de uma classe especifica para usar a mesma em outra classe mas não sei como fazer-lo, segue "parte" do código a ser analisado.

--------------------------------------------------------------------------------------------------------------------------------

Documento DosOperation.h        (Este é o cabeçalho onde se encontra a variável que quero acessar.)

#ifndef DOSOPERATION_H_INCLUDED
#define DOSOPERATION_H_INCLUDED

class Operation{   //Classe responsável por todas as operações matemáticas.
private:
    float fResult;       //Esta é a variável que preciso acessar
    float fResultModule; //Variável para armazenar valores de Modulo(Resto).
    float pX;       //Esta é a variável que preciso acessar
    float pY;       //Esta é a variável que preciso acessar

public:
    int OpAddSet(float fX,float fY);   //Função para somar valores.
    int OpSubSet(float fX,float fY);   //Função para subtrair valores.
    int OpMultSet(float fX,float fY);  //Função para multiplicar valores.
    int OpDivSet(int fX,int fY);   //Função para dividir valores.
    int OpModSet(int fX,int fY);   //Função para calcular o resto.
    float OpResultGet();      //Função para retornar resultados.
    int OpResultModuletGet(); //Função para retornar resto de uma divisão.
};
#endif

--------------------------------------------------------------------------------------------------------------------------------

Documento DosInputOutput.h        (Este é o cabeçalho do documento a seguir.)

#ifndef DOSINPUTOUTPUT_H_INCLUDED
#define DOSINPUTOUTPUT_H_INCLUDED

class Output{

public:
    void OpPrint(); //Função para mostrar valores.

};
#endif // DOSINPUTOUTPUT_H_INCLUDED

--------------------------------------------------------------------------------------------------------------------------------

Documento DosInputOutput.cpp        (Este é o arquivo onde as variáveis devem ser usadas .)

#include <iostream>
#include "DosInputOutput.h" //Inclui o cabeçalho DosInputOutput.
#include "DosOperation.h"   //Inclui o cabeçalho DosOperation.

using std::cout;
using std::cin;
using std::endl;

void Output::OpPrint(){
    cout << "endlA soma do valor " << pX << " entre " << pY << " e: "  //Na cor verde as variáveis que preciso acessar.
    << fResult; //Função que mostra o resultado na tela.
}

--------------------------------------------------------------------------------------------------------------------------------

O erro encontrado é ||=== Build: Debug in DosCalculator (compiler: GNU GCC Compiler) ===|
|In member function 'void Output::OpPrint()':|
|10|error: 'pX' was not declared in this scope|
|10|error: 'pY' was not declared in this scope|
|11|error: '::fResult' has not been declared|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Editado por JardelCss
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Pode ser friend class (classes amigas).
 

#include <iostream>
using namespace std;

class Operation{
private:
    float fResult; 
    float fResultModule; 
    float pX;  
    float pY;
public:
    //...
    //...    
    friend class Output;//<- Classes Amigas... agora tenho acesso completo da parte privada de Operation desde Output
};

class Output{
public:
    void OpPrint( Operation &obj ); 

};

void Output::OpPrint( Operation &obj ){
    cout << "endlA soma do valor " << obj.pX << " entre " << obj.pY << " e: " << obj.fResult;
} 

int main (){
    Operation op;   //op não é amiga de out, si não o contrario.
    Output    out; //out é amiga de op
    
    out.OpPrint(op); // Usando casse amiga
    
    
    cin.ignore();
    return ;
}

 

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...