Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal. Eu tenho uma dúvida a respeito da declaração de dado-membro estático em uma classe. Por que não basta que eu declare um dado-membro estático dentro da classe? Por que eu preciso fazer uma definição global desse membro? Isso tem alguma coisa a ver com a heap?

Postado

Não sei se entendi muito bem sua pergunta, mas basta declarar dentro da classe. Exemplo:

#include <iostream>

using namespace std;

class Classe
{
    public:
    static void membro_estatico()
    {
        cout << "Este é um método estático";
    }
};
int main()
{
    Classe::membro_estatico();
    return 0;
}

 

Postado
56 minutos atrás, Flávio Pedroza disse:

Não sei se entendi muito bem sua pergunta, mas basta declarar dentro da classe. Exemplo:


#include <iostream>

using namespace std;

class Classe
{
    public:
    static void membro_estatico()
    {
        cout << "Este é um método estático";
    }
};
int main()
{
    Classe::membro_estatico();
    return 0;
}

 

Então, no meu caso eu não estou lidando com uma função-membro, mas sim com um dado-membro.

Postado
10 horas atrás, MB_ disse:

Quis dizer atributo?

Exatamente.

adicionado 13 minutos depois

@Flávio Pedroza Ok. Eu achei uma explicação, mas achei ela muito confusa. Ela diz o seguinte: quando se declara um dado-membro estático dentro de uma classe, não há uma definição deste membro. Ou seja, não há uma alocação de memória para este membro.

E depois ela segue dizendo: a definição global feita fora da classe instrui o compilador a alocar espaço para o dado-membro estático.

Essa explicação não me ajudou em nada, mas talvez te ajude em me ajudar.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...