Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viciado

Classes Internas

Recommended Posts

Eu fiz um programa para testar classes internas, só que eu não sei como eu faço para os dados: dadoExt e dadoInt, serem solicitados pelo usuário.

 

#include <iostream>

using namespace std;

class Externa
{
	int dadoExt;
	public:
		Externa()
		{
			cout << "\nConstruindo obj Externa...";
			dadoExt = 25;
		}
		~Externa()
		{
			cout << "\nDestruindo obj Externa...";
		}
	class Interna
	{
		int dadoInt;
		public:
			Interna()
			{
				cout << "\nConstruindo obj. Interno...";
				dadoInt = 50;
			}
			~Interna()
			{
				cout << "\nDestruindo obj. Interna...";
			}
			void mostraDadoInt()
			{
				cout << "\nDado Interno = " << dadoInt;
			}
	}ObjInt;
	void mostraTudo()
	{
		ObjInt.mostraDadoInt();
		cout << "\nDado Externo = " << dadoExt;
	}
};

int main()
{
	Externa objExt;
	objExt.mostraTudo();
	return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Serem solicitados pelo Usuário ou para o Usuário?

 

Se sua dúvida é o que entendi você quer que os valores das duas variáveis do programa sejam digitadas pelo usuário.

Se for isso:

 

#include <iostream>

using namespace std;

class Externa
{
        int dadoExt;

        public:
                Externa()
                {
                        cout << "\nConstruindo obj Externa...";
                        dadoExt = 25;
                }
                ~Externa()
                {
                        cout << "\nDestruindo obj Externa...";
                }

                void setDadoExt(int valorDadoExt)
                {
                    dadoExt = valorDadoExt;
                }

        class Interna
        {
                int dadoInt;

                public:
                        Interna()
                        {
                                cout << "\nConstruindo obj. Interno...";
                                dadoInt = 50;
                        }
                        ~Interna()
                        {
                                cout << "\nDestruindo obj. Interna...\n\n";
                        }
                        void setDadoInt(int valorDadoInt)
                        {
                            dadoInt = valorDadoInt;
                        }

                        void mostraDadoInt()
                        {
                                cout << "\nDado Interno = " << dadoInt;
                        }
        }ObjInt;

        void mostraTudo()
        {
                ObjInt.mostraDadoInt();
                cout << "\nDado Externo = " << dadoExt;
        }
};

int main()
{
    int dadoInt;
    int dadoExt;

    Externa objExt;

    cout<<"\n\nDigite o valor de dadoInt: ";
    cin>>dadoInt;
    objExt.ObjInt.setDadoInt(dadoInt);

    cout<<"Digite o valor de dadoExt: ";
    cin>>dadoExt;
    objExt.setDadoExt(dadoExt);

    objExt.mostraTudo();

    return (0);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.