Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
C++ - Problema com polimorfismo e métodos abstratos
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 30 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Kico Weissmann  
View profile   Translate to Translated (View Original)
 More options Jul 6, 7:01 pm
From: Kico Weissmann <loboweissm...@gmail.com>
Date: Mon, 6 Jul 2009 16:01:18 -0700 (PDT)
Local: Mon, Jul 6 2009 7:01 pm
Subject: C++ - Problema com polimorfismo e métodos abstratos
Olá,

estou estudando C++ e estou com uma dúvida referente a polimorfismo e
métodos abstratos.
Para tal, peço para que analisem o código abaixo, pois não consigo
entender o que estou fazendo errado: tenho uma classe abstrata chamada
Shape e duas classes derivadas: Circle e Square, cujas declarações se
encontram abaixo:

#include <iostream>
class Shape {
        public:
                virtual char* getNome() = 0;

};

class Circle : public Shape {
        public:
        char* getNome() {
                return "Circle";
        }

};

class Square : public Shape {
        public:
                char* getNome() {
                        return "Square";
                }

};

A dúvida na realidade surge no meu método main:

int main(int argc, char **argv) {
        Shape *shape[2];

Dúvida 1: por que o código abaixo é inválido?
        shape[0] = new Square();
        shape[1] = new Circle();
No caso, como eu deveria reescrevê-lo?

Dúvida 2: o código abaixo será executado? Em caso negativo, o que está
errado?
        cout << shape[0]->getNome() << endl;
        cout << shape[1]->getNome() << endl;
        return 1;


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "RES: [ccppbrasil] C++ - Problema com polimorfismo e métodos abstratos" by Márcio Gil
Márcio Gil  
View profile   Translate to Translated (View Original)
 More options Jul 7, 8:03 am
From: Márcio Gil <marciom...@bol.com.br>
Date: Tue, 7 Jul 2009 09:03:37 -0300
Local: Tues, Jul 7 2009 8:03 am
Subject: RES: [ccppbrasil] C++ - Problema com polimorfismo e métodos abstratos

> -----Mensagem original-----
> De: Kico Weissmann

> Dúvida 1: por que o código abaixo é inválido?
>    shape[0] = new Square();
>    shape[1] = new Circle();
> No caso, como eu deveria reescrevê-lo?

Não tem nada de errado com estas linhas, é um ponteiro para uma classe base
recebendo um objeto derivado.

> Dúvida 2: o código abaixo será executado? Em caso negativo, o que está
> errado?
>    cout << shape[0]->getNome() << endl;
>    cout << shape[1]->getNome() << endl;

Você deve colocar assim:

  std::cout << shape[0]->getNome() << std::endl;
  std::cout << shape[1]->getNome() << std::endl;

ou então coloca esta linha logo antes do "main()":

using namespace std;


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "C++ - Problema com polimorfismo e métodos abstratos" by Gianni
Gianni  
View profile   Translate to Translated (View Original)
 More options Jul 7, 8:39 am
From: Gianni <nasus.maxi...@gmail.com>
Date: Tue, 7 Jul 2009 09:39:13 -0300
Local: Tues, Jul 7 2009 8:39 am
Subject: Re: [ccppbrasil] C++ - Problema com polimorfismo e métodos abstratos
Faltou declarar as funções das classes derivadas como virtual:

class Circle : public Shape {
        public:
        virtual char* getNome() {
                return "Circle";
        }

};

class Square : public Shape {
        public:
                virtual char* getNome() {
                        return "Square";
                }

};

Acho que é isso...

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rafael Giusti  
View profile   Translate to Translated (View Original)
 More options Jul 7, 8:39 am
From: Rafael Giusti <rfgiu...@gmail.com>
Date: Tue, 7 Jul 2009 09:39:08 -0300
Local: Tues, Jul 7 2009 8:39 am
Subject: Re: [ccppbrasil] C++ - Problema com polimorfismo e métodos abstratos

Evite usar a linha

using namespace std;

É "promíscua" demais.

Se preceder todos os nomes com std:: for demais para você, prefira importar
apenas os objetos que você pretende utilizar no código:

usign std::cout;
using std::endl;

2009/7/7 Márcio Gil <marciom...@bol.com.br>

--
Rafael Giusti
Laboratório de Inteligência Computacional - LABIC
Universidade de São Paulo - USP

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thiago Adams  
View profile   Translate to Translated (View Original)
 More options Jul 7, 9:17 am
From: Thiago Adams <thiago.ad...@gmail.com>
Date: Tue, 7 Jul 2009 06:17:02 -0700 (PDT)
Local: Tues, Jul 7 2009 9:17 am
Subject: Re: C++ - Problema com polimorfismo e métodos abstratos

On 7 jul, 09:39, Gianni <nasus.maxi...@gmail.com> wrote:

Quando a classe base está definida como virtual, não faz diferença se
as derivadas estão declaradas como virtuais ou não.

-x-

Vendo as dúvidas de um iniciante, é possível ver que C++ é realmente
uma linguagem complicada de se aprender, pois é cheia de detalhes.

Neste exemplo ainda seria importante explicar que o destructor deveria
ser virtual, e como fazer o gerenciamento da memoria alocada.
Ainda assim, provavelmente, a explicação não entraria no detalhe das
exceções  nem do detalhe do comportamento do new. (new [] delete []
etc)
Então seria preciso explicar o RAII os containers da STL e os smart
pointers.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "RES: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos" by Márcio Gil
Márcio Gil  
View profile   Translate to Translated (View Original)
 More options Jul 7, 9:26 am
From: Márcio Gil <marciom...@bol.com.br>
Date: Tue, 7 Jul 2009 10:26:15 -0300
Local: Tues, Jul 7 2009 9:26 am
Subject: RES: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Se você declarar na classe base que um método é virtual, este método
continuará sendo considerado virtual mesmo que não tenha a palavra
chave "virtual" nas classes derivadas. Ou seja, "virtual" é opcional
nas classes derivadas pois o compilador já foi instruído a
implementar a virtualização. No entando é bom colocar o "virtual"
nas classes derivadas também para documentar este fato.

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "C++ - Problema com polimorfismo e métodos abstratos" by Thiago Diniz da Silveira
Thiago Diniz da Silveira  
View profile   Translate to Translated (View Original)
 More options Jul 7, 9:31 am
From: Thiago Diniz da Silveira <thiagods...@gmail.com>
Date: Tue, 7 Jul 2009 10:31:46 -0300
Local: Tues, Jul 7 2009 9:31 am
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Claro que é bom colocar, depois tu pega um código um pouco maior e tem que
ficar lembrando que é virtual. -.- pelo amor de deus deixa a preguiça de
lado né!

2009/7/7 Márcio Gil <marciom...@bol.com.br>


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jorge Pereira  
View profile   Translate to Translated (View Original)
 More options Jul 7, 9:36 am
From: Jorge Pereira <jperei...@gmail.com>
Date: Tue, 7 Jul 2009 10:36:54 -0300
Local: Tues, Jul 7 2009 9:36 am
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Olá!

Neste caso ai a string retornada e uma constante, então seria interessante
retornar "const char*"

[]s
--
Regards,
+--------------------------------------------+
Jorge Pereira,
Blog: http://blog.jorgepereira.com.br/
GPG-Key-ID: 1024D/EC6FB924
+--------------------------------------------+


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Henrique Lobo Weissmann  
View profile   Translate to Translated (View Original)
 More options Jul 7, 9:36 am
From: Henrique Lobo Weissmann <loboweissm...@gmail.com>
Date: Tue, 7 Jul 2009 10:36:31 -0300
Local: Tues, Jul 7 2009 9:36 am
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

He he he, claro, claro.

Eu só perguntei isto porque nos livros de C++ que eu li até agora dizem que
só é necessário declarar na classe base.

Então, quando você me disse para incluir a palavra chave virtual nas classes
filhas, achei que tivesse me enganado a respeito, e que esta palavra-chave
também deveria ser incluida nas classes filhas, entende?

2009/7/7 Thiago Diniz da Silveira <thiagods...@gmail.com>

--
Henrique Lobo Weissmann
(55) 31 9226-0459

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "RES: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos" by Gianni
Gianni  
View profile   Translate to Translated (View Original)
 More options Jul 7, 9:41 am
From: Gianni <nasus.maxi...@gmail.com>
Date: Tue, 7 Jul 2009 10:41:34 -0300
Local: Tues, Jul 7 2009 9:41 am
Subject: Re: RES: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos
On Tuesday 07 July 2009 10:26:15 Márcio Gil wrote:

Então, eu disse "Acho" por que justamente tive um problema semelhante, que eu
não lembro qual foi a solução, mas se não me engano foi com algo assim:
cupostamente deveria funcionar de forma X mas o compilador fazia Y.  Não tenho
certeza mesmo, só dei um palpite de intrometido mesmo.  ;-)

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Henrique Lobo Weissmann  
View profile   Translate to Translated (View Original)
 More options Jul 7, 9:45 am
From: Henrique Lobo Weissmann <loboweissm...@gmail.com>
Date: Tue, 7 Jul 2009 10:45:33 -0300
Local: Tues, Jul 7 2009 9:45 am
Subject: Re: RES: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Faz todo o sentido!

Observei que quando vou verificar o tipo armazenado na matriz usando o
operador idtype o valor retornado é Shape, e não Circle ou Square.

Nestes casos, estou REALMENTE definindo corretamente os valores dos meus
apontadores?

No caso, estou usando o Dev-C++ e o compilador é o gcc via mingw

2009/7/7 Gianni <nasus.maxi...@gmail.com>

--
Henrique Lobo Weissmann
(55) 31 9226-0459

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thiago Diniz da Silveira  
View profile   Translate to Translated (View Original)
 More options Jul 7, 10:01 am
From: Thiago Diniz da Silveira <thiagods...@gmail.com>
Date: Tue, 7 Jul 2009 11:01:03 -0300
Local: Tues, Jul 7 2009 10:01 am
Subject: Re: RES: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

É opcional, mas como eu disse e outros disseram é quase obrigatório colocar
né hehe =D
Desculpa o nervosismo na resposta Henrique. ;)

Abraço.

2009/7/7 Gianni <nasus.maxi...@gmail.com>


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Henrique Lobo Weissmann  
View profile   Translate to Translated (View Original)
 More options Jul 7, 10:08 am
From: Henrique Lobo Weissmann <loboweissm...@gmail.com>
Date: Tue, 7 Jul 2009 11:08:38 -0300
Local: Tues, Jul 7 2009 10:08 am
Subject: Re: RES: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

no problem!

2009/7/7 Thiago Diniz da Silveira <thiagods...@gmail.com>

--
Henrique Lobo Weissmann
(55) 31 9226-0459

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "C++ - Problema com polimorfismo e métodos abstratos" by Pedro Lamarão
Pedro Lamarão  
View profile   Translate to Translated (View Original)
 More options Jul 8, 3:40 pm
From: Pedro Lamarão <pedro.lama...@member.fsf.org>
Date: Wed, 8 Jul 2009 12:40:59 -0700 (PDT)
Local: Wed, Jul 8 2009 3:40 pm
Subject: Re: C++ - Problema com polimorfismo e métodos abstratos
On 6 jul, 20:01, Kico Weissmann <loboweissm...@gmail.com> wrote:

> A dúvida na realidade surge no meu método main:

> int main(int argc, char **argv) {
>         Shape *shape[2];

> Dúvida 1: por que o código abaixo é inválido?
>         shape[0] = new Square();
>         shape[1] = new Circle();
> No caso, como eu deveria reescrevê-lo?

Boa pergunta.

Por que você acha que esse código é inválido?
Qual é o problema, o compilador está falhando a compilação?

Perguntas do tipo "o código está certo? em caso negativo, bla bla bla"
são perguntas de trabalho de casa da faculdade.

--
 P.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Henrique Lobo Weissmann  
View profile   Translate to Translated (View Original)
 More options Jul 8, 3:51 pm
From: Henrique Lobo Weissmann <loboweissm...@gmail.com>
Date: Wed, 8 Jul 2009 16:51:43 -0300
Local: Wed, Jul 8 2009 3:51 pm
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Oi Pedro,

O que observei foi o seguinte. Na minha matriz, que inicialmente eu pré
carregava como ponteiros para a classe basica, eu a populava tal como no
código abaixo.

No entanto, toda vez que ia executar um método abstrato nas classes filhas,
dava erro de execução.
Ao verificar o tipo armazenado na matriz usando o operador idtype, o que
verifiquei é que lá estavam instâncias da classe base, e não das classes
filhas.
Como consequencia, toda vez que eu chamava o método abstrato, este não
estava implementado na instancia armazenada e eu tinha um erro de execução.

Esta é a razão pela qual eu achei que o código estava inválido de alguma
forma. Como pode ver, nada a ver com trabalhos de faculdade ou coisas do
gênero.
Na realidade, é mais relacionado a um hobby que iniciei neste final de
semana e cujo resultado estou documentando no meu blog:
http://www.itexto.net/devkico/?p=419

Sendo assim, pode ficar tranquilo :) : não é mais um estudante pedindo para
outros fazerem seu trabalho de faculdade, mas sim alguém que DE FATO está
tentando se aprofundar na linguagem C++ e que acreditou que talvez a
comunidade brasileira poderia lhe auxiliar neste processo.

Um abraço

2009/7/8 Pedro Lamarão <pedro.lama...@member.fsf.org>

--
Henrique Lobo Weissmann
(55) 31 9226-0459

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bruno Sanches  
View profile   Translate to Translated (View Original)
 More options Jul 8, 3:57 pm
From: Bruno Sanches <bcsanc...@gmail.com>
Date: Wed, 8 Jul 2009 16:57:54 -0300
Local: Wed, Jul 8 2009 3:57 pm
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Ola Henrique,
seu código esta correto, o que deve estar errado é que algum metodo que
deveria ser virtual e não é.

Pode mostrar a declaração (e a implementação se não for muito grande) do
método abstrato na classe base e nas classes derivadas?

Bruno Sanches
========================
http://bcsanches.wordpress.com

2009/7/8 Henrique Lobo Weissmann <loboweissm...@gmail.com>


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pedro Lamarão  
View profile   Translate to Translated (View Original)
 More options Jul 8, 5:45 pm
From: Pedro Lamarão <pedro.lama...@member.fsf.org>
Date: Wed, 8 Jul 2009 14:45:43 -0700 (PDT)
Local: Wed, Jul 8 2009 5:45 pm
Subject: Re: C++ - Problema com polimorfismo e métodos abstratos
On 8 jul, 16:51, Henrique Lobo Weissmann <loboweissm...@gmail.com>
wrote:

> O que observei foi o seguinte. Na minha matriz, que inicialmente eu pré
> carregava como ponteiros para a classe basica, eu a populava tal como no
> código abaixo.

> No entanto, toda vez que ia executar um método abstrato nas classes filhas,
> dava erro de execução.
> Ao verificar o tipo armazenado na matriz usando o operador idtype, o que
> verifiquei é que lá estavam instâncias da classe base, e não das classes
> filhas.
> Como consequencia, toda vez que eu chamava o método abstrato, este não
> estava implementado na instancia armazenada e eu tinha um erro de execução.

Acho que percebi a questão.
É algo do C++ que eu ainda não parei pra aprender completamente.

Nas classes derivadas de Shape, não há uma função declarada com a
palavra-chave "virtual".
Por esse motivo, o compilador deve estar considerando que essas
classes não são polimórficas, e não produzindo coisas como um ponteiro
para vtable e coisas assim.

Por acaso a presença de um "virtual" na função sobrescrita nas classes
derivadas resolve o problema?

Em geral esse tipo de situação não acontece porque invariavelmente o
destruidor é "virtual".

--
 P.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Eric Chiesse  
View profile   Translate to Translated (View Original)
 More options Jul 8, 11:12 pm
From: Eric Chiesse <echie...@gmail.com>
Date: Thu, 9 Jul 2009 00:12:18 -0300
Local: Wed, Jul 8 2009 11:12 pm
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Henrique, estava escrevendo um exemplo enorme com código fonte compilável e
tudo para servir de exemplo, quando me ocorreu que a tua dúvida é bem mais
simples.

Você deve estar tentando algo como:

cout << typeid(shape[0]).name() << endl;

E está obtendo "Shape *" como resposta.

Tenta usar:
cout << typeid(*shape[0]).name() << endl; // Repare no asterisco antes de
shape.

Você deve obter o tipo que você deseja ver.

Abraço.

Eric.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Henrique Lobo Weissmann  
View profile   Translate to Translated (View Original)
 More options Jul 9, 7:22 am
From: Henrique Lobo Weissmann <loboweissm...@gmail.com>
Date: Thu, 9 Jul 2009 08:22:55 -0300
Local: Thurs, Jul 9 2009 7:22 am
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Nope,

ai que tá Eric, eu fazia exatamente como você mostrou, com o * na frente, e
o resultado obtido ainda era do tipo Shape.

Estou no trabalho agora, porém assim que chegar em casa irei copiar o código
fonte para que vocês dêem uma olhada, porque realmente o resultado que
obtive é muito estranho.

2009/7/9 Eric Chiesse <echie...@gmail.com>

--
Henrique Lobo Weissmann
(55) 31 9226-0459

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jorge Pereira  
View profile   Translate to Translated (View Original)
 More options Jul 9, 9:45 am
From: Jorge Pereira <jperei...@gmail.com>
Date: Thu, 9 Jul 2009 10:45:52 -0300
Local: Thurs, Jul 9 2009 9:45 am
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Copie e coloque no http://pastebin.ubuntu.com e nos envie a URL

[]s
--
Regards,
+--------------------------------------------+
Jorge Pereira,
Blog: http://blog.jorgepereira.com.br/
GPG-Key-ID: 1024D/EC6FB924
+--------------------------------------------+

2009/7/9 Henrique Lobo Weissmann <loboweissm...@gmail.com>


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Guilherme Longo  
View profile   Translate to Translated (View Original)
 More options Jul 9, 10:20 pm
From: Guilherme Longo <grlongo.irel...@gmail.com>
Date: Thu, 09 Jul 2009 23:20:39 -0300
Local: Thurs, Jul 9 2009 10:20 pm
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos
Pessoal, bom dia!
Estou muito perto de concluir meu projeto mas estou atolado em um detalhe.

Escrevi uma aplicação usando as api do alsa para gravar e reproduzir
som. Junto, eu estou implementando uma analize de fourier, usando a
biblioteca fftw: http://www.fftw.org/!

Ai que está o problema. É utilizado um ring buffer tanto para leitura
quanto para escrita.
Eu preciso fazer com que esse IN sejá um ponteiro para meu ring buffer.
Algêm pode me dar uma ajuda.

O código está assim:

void capture_go(int fd, off64_t count, int rtype, char *name)
{
    size_t c;
    off64_t cur;
    ssize_t r, err;
*    fftw_complex *in, *out;
    fftw_plan p;

**     in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 44100);
     out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 44100);*

    * in = audiobuf;    *********(isso aqui que eu não consigo
fazer)*************

    header(rtype, name);
    set_params();

    * p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);

*    do {
        for (cur = count; cur > 0; cur -= r) {
            c = (cur <= chunk_bytes) ? cur : chunk_bytes;
            c = c * 8 / bits_per_frame;
            if ((size_t)(r = pcm_read(audiobuf, c)) != c)
  *  
           *
                break;
            r = r * bits_per_frame / 8;
            if ((err = write(fd, audiobuf, r)) != r) {
                perror(name);
                exit(EXIT_FAILURE);
            }
            if (err > 0)
                fdcount += err;
        }
    } while (rtype == FORMAT_RAW && !timelimit);

}

Muito Obrigado

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Eric Chiesse  
View profile   Translate to Translated (View Original)
 More options Jul 9, 10:29 pm
From: Eric Chiesse <echie...@gmail.com>
Date: Thu, 9 Jul 2009 23:29:17 -0300
Local: Thurs, Jul 9 2009 10:29 pm
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Guilherme, você poderia criar um tópico novo para esse assunto ?

Abraço.

Eric.

2009/7/9 Guilherme Longo <grlongo.irel...@gmail.com>


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "criar ponteiro para ring buffer!" by Guilherme Longo
Guilherme Longo  
View profile   Translate to Translated (View Original)
 More options Jul 10, 5:45 am
From: Guilherme Longo <grlongo.irel...@gmail.com>
Date: Fri, 10 Jul 2009 06:45:09 -0300
Local: Fri, Jul 10 2009 5:45 am
Subject: criar ponteiro para ring buffer!
   Pessoal, bom dia!


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "C++ - Problema com polimorfismo e métodos abstratos" by wander
wander  
View profile   Translate to Translated (View Original)
 More options Jul 10, 6:35 am
From: wander <wander.lair...@gmail.com>
Date: Fri, 10 Jul 2009 03:35:33 -0700 (PDT)
Local: Fri, Jul 10 2009 6:35 am
Subject: Re: C++ - Problema com polimorfismo e métodos abstratos
Olá Kico,

Qual o compilador e versão você está usando? Eu rodei no g++ 4.3.2 e
funcionou perfeitamente,
segue abaixo o código (com algumas modificações para evitar warnings e
com uma destrutora virtual):

#include <iostream>
class Shape {
    public:
        virtual const char* getNome() = 0;
        virtual ~Shape() {};

};

class Circle : public Shape {
    public:
        const char* getNome() {
            return "Circle";
        }

};

class Square : public Shape {
    public:
        const char* getNome() {
            return "Square";
        }

};

int main() {
    using std::cout;
    using std::endl;
    Shape *shape[2];
    shape[0] = new Square();
    shape[1] = new Circle();
    cout << shape[0]->getNome() << endl;
    cout << shape[1]->getNome() << endl;
    delete shape[0];
    delete shape[1];
    return 1;

}

Saída:

Square
Circle

Wander

On 6 jul, 20:01, Kico Weissmann <loboweissm...@gmail.com> wrote:


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Eric Chiesse  
View profile   Translate to Translated (View Original)
 More options Jul 10, 8:08 am
From: Eric Chiesse <echie...@gmail.com>
Date: Fri, 10 Jul 2009 09:08:37 -0300
Local: Fri, Jul 10 2009 8:08 am
Subject: Re: [ccppbrasil] Re: C++ - Problema com polimorfismo e métodos abstratos

Henrique, tá estranho mesmo então. Testei esse comportamento no visual
studio e MinGW no Windows e tb no gcc no Ubuntu e em todos estava foi
correto.

Sem o exato código fonte que você está usando é difícil dizer qq coisa.

Abraço.

Eric.

2009/7/9 Henrique Lobo Weissmann <loboweissm...@gmail.com>


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 30   Newer >
« Back to Discussions « Newer topic     Older topic »

Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google