Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

seuqram

3 duvidas

Mensagens Recomendadas

seuqram

pessoal tou com 3 duvidas:

1- o que são classes? o que favorecem? como se fazem?

2- em c o que é ->?

3- é possivel meter 2 funçoes a trabalhar ao mesmo tempo ou ligar dois .cpp?como?

agradeço respostas :cheesygrin:...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JD557

Antes de mais, nenhuma das tuas dúvidas é de C, são todas de C++.

Deixa ver se te consigo ajudar.

1. Uma classe é um conjunto de dados e funções que pode ser usado para criar objectos.

Imagina, podes ter uma classe:

class Carro {
private:
  int posicao;
  int velocidade;
public:
  Carro(int pInician) {posicao=pInicial;velocidade=0;}
  void acelerar() {velocidade++;}
};

Com isto podes ter vários carros num programa, usando:

Carro carro1(0); // Posicao inicial=0
Carro carro2(10); // Posicao inicial=10

Entre outras coisas interessantes que podes fazer que não vou estar agora a apresentar.

2. Sabes o que são apontadores e desreferenciação?

Se tiveres, por exemplo, a classe carro indicada em cima, poderias fazer o seguinte para acelerar:

Carro c1(10);
c1.acelerar();

Carro *c2=new Carro(20); // Nota que isto é um apontador
(*c2).acelerar(); // Desreferencia o apontador e executa a funcao
// Que é o mesmo que fazeres
c2->acelerar();

Quanto à pergunta 3, não entendi bem a tua dúvida. Queres entender como utilizar multithreading ou queres compilar um programa com mais que um ficheiro .cpp?


MIEIC @ FEUP

http://project557.blogspot.com/ --- Development Blog

Proteja a sua pen: http://lastknight.pt.vu

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedrosorio

JDD557: Repara que a questão 2. do seuqram é de C, já que as struct em C têm membros e a nomenclatura "apontador->m" é usada para aceder ao membro "m" da estrutura apontada pelo "apontador".


Não respondo a dúvidas por mensagem.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

C não é uma linguagem orientada a objectos, C não tem classes.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

1- o que são classes? o que favorecem? como se fazem?

Em C nao existe o conceito de classe. O mais parecido que ha é o conceito de estrutura.

2- em c o que é ->?

é o operador para aceder a um membro duma estrutura a partir de um ponteiro

ponteiro->membro

o mesmo que

(*ponteiro).membro

3- é possivel meter 2 funçoes a trabalhar ao mesmo tempo ou ligar dois .cpp?como?

Em c, a extensao mais usada é .c. Aparentemente puseste as tuas duvidas no quadro errado.

O Standard do C de 1999 (em PDF) (o Standard mais recente (em PDF), de Dezembro de 2011, ja tem qualquer coisa sobre isso, mas nao conheco implementacoes dessa nova versao da linguagem) nao especifica nenhuma maneira de por 2 funcoes a trabalhar ao mesmo tempo. Para o fazeres tens de usares bibliotecas extra. Le sobre "pthreads" (artigo da wikipedia (em ingles)).


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ana Baptista

os membros de uma classe são:

Construtores - definem o comportamento no momento da criação de um objeto de uma classe.

Destrutor - define o comportamento no momento da destruição do objeto de uma classe. Normalmente, como em C++, é utilizado para liberar recursos do sistema (como memória), já em outras linguagens, como em Java e C♯ isto é realizado de modo automático pelo Garbage collector.

Propriedades - define o acesso a um estado do objeto.

Eventos - define um ponto em que o objeto pode chamar outros procedimentos de acordo com seu comportamento e estado interno.

como se pode criar uma classe:

public class Pessoa {

        private String nome;

        public String getNome() {

                return nome;

        }

        public void setNome(String nome) {

                this.nome = nome;

        }

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
seuqram

os membros de uma classe são:

Construtores - definem o comportamento no momento da criação de um objeto de uma classe.

Destrutor - define o comportamento no momento da destruição do objeto de uma classe. Normalmente, como em C++, é utilizado para liberar recursos do sistema (como memória), já em outras linguagens, como em Java e C♯ isto é realizado de modo automático pelo Garbage collector.

Propriedades - define o acesso a um estado do objeto.

Eventos - define um ponto em que o objeto pode chamar outros procedimentos de acordo com seu comportamento e estado interno.

como se pode criar uma classe:

public class Pessoa {

        private String nome;

        public String getNome() {

                return nome;

        }

        public void setNome(String nome) {

                this.nome = nome;

        }

}

public? 🤔 nao gosto nada dessa palavra! que faz?

o que favoresse as classes?

JDD557: Repara que a questão 2. do seuqram é de C, já que as struct em C têm membros e a nomenclatura "apontador->m" é usada para aceder ao membro "m" da estrutura apontada pelo "apontador".

aceder? como? o que muda? que faz?  :confused:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KTachyon

O código que a Ana Baptista colocou é Java, não é C++. Mas, independentemente disso, as classes em C++ também utilizam os termos public, protected e private. Servem para definir se as funções ou variáveis são acessíveis publicamente, acessíveis apenas pelos objectos da mesma subclasse ou apenas acessíveis por objectos da própria classe.

A questão do -> é o seguinte:

class Xpto {
    public:
        int func();
};


//...

int main() {
    Xpto x1;
    x1.func();

    Xpto* x2 = new Xpto;
    x2->func();
}

Consoante estejas a trabalhar com objectos ou ponteiros para objectos, a forma como acedes aos seus membros (funções, variáveis) é diferente.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.