Ir para conteúdo
Entre para seguir isso  
Macumba

Qual a diferença de C e de C++?

Recommended Posts

Macumba    0
Macumba

Eu estou penssando em aprender C++ mas fui pesquisar, e vi que tinha a linguagem C e C++.

Qual a diferença da linguagem C e C++?

 

Tambem, estou penssando em baixar apostilas pelo apostilando.com que é um bom site de apostilas. Mas por qual apostila comesso? C ou C++? Qual a diferença?

 

Eu quero, de preferencia programar jogos e criador de jogos ( mmorpg ) tenho um vasto conhecimento de sql tambem.

 

Obrigado e aguardando por respostas.

Compartilhar este post


Link para o post
Compartilhar em outros sites
the_labrax    0
the_labrax

A principal diferença é a velocidade/programação... O resultado ficará aparentemente a mesma coisa.

Já que você tentara fazer jogos, poderia começar diretamente por C++, não terá problemas sem ter experiências com C Ansi.

 

Tenha uma boa aprendizagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Deragon    25
Deragon

c++ tem maior flexibilidade com códigos, por isso é mais recomendado quando fazer jogos do que o C

eu dei uma breve lida sobre C e já fui pro c++, em minha opnião mais fácil

Compartilhar este post


Link para o post
Compartilhar em outros sites
Wekahost    0
Wekahost

C++ tem orientação a objetos, acho que essa é a principal diferença, dentre muitas outras, aprenda C++ mesmo, já "engloba" C

Compartilhar este post


Link para o post
Compartilhar em outros sites
Tukith    0
Tukith

Tem a C# também.

Mas que eu saiba a C++ é a mais "poderosa".

 

Abraços,

 

//Tvk!th

Compartilhar este post


Link para o post
Compartilhar em outros sites
the_labrax    0
the_labrax

C# já é outra coisa.

E as duas, já são orientadas a objetos. Mas o C++ tem a vantagem de já ser coisa mais nova e estar mais ligada a directx / opengl.

Compartilhar este post


Link para o post
Compartilhar em outros sites
xXGriloXx    0
xXGriloXx

também tava com essa dúvida...

vlw pelas respostas

Compartilhar este post


Link para o post
Compartilhar em outros sites
Join_u    0
Join_u

A verdade eh q C++ eh C com mais recursos se vc for aprender do zero comece pelo C

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ninja X    0
Ninja X

Bjarne Stroustrup (Algo assim o nome dele), criou algumas "funções a mais" para o C, e como era apenas mais funções para o C, não se tornou D e sim C With Classes (C com Classes), que hoje é chamado de C++.

 

Eu programo C++ pela facilidade em relação a C, mais a principal diferença entre C e C++ é que o C++ é o C com Classes, e orientada a objetos.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Chê.    1
Chê.

Resumindo tudo, C++ é C orientada a objetos.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Strider    0
Strider
C# já é outra coisa.

E as duas, já são orientadas a objetos. Mas o C++ tem a vantagem de já ser coisa mais nova e estar mais ligada a directx / opengl.

C# é mais novo, deixa de ser burro

Compartilhar este post


Link para o post
Compartilhar em outros sites
Join_u    0
Join_u
C# é mais novo, deixa de ser burro

 

A microsoft Criou C# e deu esse nome no intuito das pessoas pensarem ser uma melhoria de C/C++

na verdade C# apesar de possuir uma sintaxe igual ao do C/C++ nao tem nada a ver com as linguagens de programacao citadas....

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fusion    0
Fusion

O foda é fica vendo quem não sabe de nada fala né.

 

 

 

O C++ foi desenvolvido por Bjarne Stroustrup em 1979 como uma incrementação da linguagem C. Foi primeiro chamado de 'C com classes' e depois renomeado para C++ em 1983. Ele continuou sendo desenvolvido, sendo adicionados o uso de classes(orientação), a herança de classes, multipla herança, funções virtuais e gabaritos.

 

 

Exemplo de classes:

 

class MyClass
{
public:
MyClass(); // Construtor da classe
~MyClass(); // Destrutor da classe

// Aqui coisas que podem ser manipuladas externamente (exemp: MyInst.Thing).

private:
// Aqui coisas que não podem ser herdadas, ou seja, apenas dessa sala.

protected:
// Aqui coisas que só podem ser utilizadas por funções membro.

};

 

Herança(MyInheritedClass vai receber todos os membros de MyClass exceto aqueles que forem 'private' pelo fato de estarmos usando ': public MyClass')

class MyInheritedClass
: public MyClass
{
public:
MyInheritedClass(); // Construtor da classe
~MyInheritedClass(); // Destrutor da classe

// Mesma coisa que da classe.

};

 

Multi herança

class MyMultiInheritedClass
: public MyClass, public MyInheritedClass
{
public:
MyMultiInheritedClass(); // Construtor da classe
~MyMultiInheritedClass(); // Destrutor da classe

// Mesma coisa que da classe.

};

 

Gabaritos(exemplo mais usado)

#include<iostream>

template<class A>
void swap(A &var1, A &var2)
{
A tmp = var1;
var1 = var2;
var2 = tmp;
}

int main()
{
int i1 = 5, i2 = 10;
std::cout << "valor de i1 = " << i1 << "\nvalor de i2 = " << i2 << "\n\n";
swap(i1, i2);
std::cout << "valor de i1 = " << v1 << "\nvalor de i2 = " << i2 << "\n\n";

char *s1 = "Hello world.", *s2 = "Bye world.";
std::cout << "valor de s1 = " << s1 << "\nvalor de s2 = " << s2 << "\n\n";
swap(s1, s2);
std::cout << "valor de s1 = " << s1 << "\nvalor de s2 = " << s2 << "\n\n";
}

 

E sobre o C#, ele foi criado pela microsoft voltado mais para aplicações com GUI(Graphical User Interface - interface grafica do usuario) e é mais lento(pelo menos eu acho).

Editado por Fusion

Compartilhar este post


Link para o post
Compartilhar em outros sites
Bogos    0
Bogos

E sobre o C#, ele foi criado pela microsoft voltado mais para aplicações com GUI(Graphical User Interface - interface grafica do usuario) e é mais lento(pelo menos eu acho).

 

 

Não é mais lento, simplesmente não tem nada a ver com C ou C++, apesar de ser baseada nas mesmas. C# como você disse é voltada para aplicações desktop (obviamente com interface gráfica) e o fator mais importante é que ela roda em cima de uma plataforma (framework) chamada .NET

Uma aplicação desenvolvida em C++ compiladas para Windows, rodará apenas no Windows (salvo uso de Wines da vida), enquanto uma aplicação em C# roda em qualquer SO desde que haja a plataforma .NET instalada (como o Java).

 

Se você tem uma ótima base com desenvolvimento, parta para o aprendizado de C++ senão como ja foi dito é melhor se acostumar com o C primeiro.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Guw    0
Guw

Como já disseram...resumindo, o C++ é orientado a objetos. Se o teu caso é querer programar jogos, dizem que a mais usada e a melhor é C++.

Compartilhar este post


Link para o post
Compartilhar em outros sites
rexxar    0
rexxar

Vo conta uma historinha : C/C++ fazem tudu tem acesso a qualqeh parte do hardware(ESCOVAÇAO DE BITS) sao linguagens poderosas voce pode programar um microondas com C/C++.

 

C/C++ nao tem muita difirençade si pois o C++ eh uma melhoria criada pelo matematico bjner stroup intao o C++ engloba toda a syntaxe de C e ainda tem um PLUS C++ :D no caso com enfoque para classes Programaçao orientada a objeto ja que quando foi criado o C nao tinha muito o conceito de POG e sim programaçao orientada a objeto

 

Ja o C# criado pela empresa do tio bill ;D ela tem um enfoque mais para web mais tb eh muito desenvolvido para desktop a sua ideia era criar uma ferramenta de facil acesso (qualqeh um entender :D ) tem recursos a baixo nivel , mais ela viajo pq ele presisa te o framework .donet instalado para funcionar mais eh muito forte e veio para tenta barrar o PODEROSO JAVA !!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
kinabr    0
kinabr

Como já mencionaram, o C++ se diferencia do C pelo suporte ao uso de OO(orientação a objetos). Mas, esqueceu-se de mencionar, o C++ também é vantajoso em relação ao C pela maior possibilidade de reaproveitamento de código e pela maior manutebilidade dos programas(questão de update, manutenção, etc(que são bem importantes)(proporcionado pela OO). Além disso o C++ conta com o uso do namespace, o que é vantajoso em certos aspectos, e , que eu lembre, você pode ter duas funções/métodos com o mesmo nome, desde que retornem tipos de valores diferentes e recebam valores diferentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Bogos    0
Bogos
Vo conta uma historinha : ...

 

...

Ja o C# criado pela empresa do tio bill ;D ela tem um enfoque mais para web mais tb eh muito desenvolvido para desktop a sua ideia era criar uma ferramenta de facil acesso (qualqeh um entender :D ) tem recursos a baixo nivel , mais ela viajo pq ele presisa te o framework .donet instalado para funcionar mais eh muito forte e veio para tenta barrar o PODEROSO JAVA !!!!!!

 

Uma estorinha né.

O C# é da MS mas foi desenvolvido (ignorando a equipe e citando apenas o cabeça) pelo "pai" do Pascal e consequentemente do Delphi.

E por favor, não repita jamais que C# tem relação com Web.

E se a MS "viajou" ao desenvolver uma linguagem que rode em cima de uma plataforma, sem hipocrisia podemos afirmar que o Java não é tão PODEROSO assim.

 

(Y)

Compartilhar este post


Link para o post
Compartilhar em outros sites
GDLib    2
GDLib

A diferença de C para C++ não fica apenas na orientação a objetos.

Até porque, orientação a objetos é um paradigma, que pode sim ser implementado em C, a diferença que em C++ o suporte é built-in.

Outra coisa é que C++ é strong typed, enquanto que C weak typed.

Como hoje eu programo apenas em C, eu pude ver diferenças claras na hora do desenvolvimento, tais como o uso de ponteiros, que em C é muito mais manual e complicado. Apesar disso, a manipulação de tipos em C é menos enjoada.

Programas em C tendem a possuir um menor tempo de runtime e compiling, e portanto, são mais rápidos que programas em C++. Mas quem se importa com melhor velocidade? O uso de uma linguagem também está associada a seu uso, por isso, como hoje eu trabalho com aplicações de mais baixo nível, utilizo C, porém se um dia eu for ter que criar um projeto de software "normal" e grande, terei que usar orientação a objetos, e talvez optaria por C++ ou Java.

 

P.S: O pior argumento de se criticar a linguagem Java é chamá-la de lenta, porém justificar o porque e se é verdade, eu já não vejo gente fazendo. Normalmente quem fala isso, não domina orientação a objetos, é muita abstração para uma pessoa só, haha.

 

Sobre o C#: o Bogos tem razão, porém o que eu acho sobre a vantagem de ser portável, eu considero uma piada, ter de instalar o .NET numa plataforma que não seja da MS.

Compartilhar este post


Link para o post
Compartilhar em outros sites
warman    0
warman

Para ajudar na compreensão:

 

C/C++ - Linguagem de programação científica: a utilização não é especifica para um domínio como por exemplo, o cobol(linguagem comercial).

 

Há várias diferenças entre C e C++ dentre elas:

 

- A única maneira de se programar em C é seguindo um paradigma estrutural ou seja, tudo que voce programa, deve ser passo a passo. por exemplo:

 

"Eu sou uma pessoa e sou utilizada para correr."

 

- Em C++ podemos TAMBÉM, utilizar o paradigma orientado a objetos, ou seja, descrevermos características de uma coisa e implementar suas ações como por exemplo(note a diferença do exemplo anterior):

 

"Eu sou uma pessoa e eu corro."

 

 

 

Abaixo seguem exemplos em C e C++ respectivamente:

 

EM C:

 

struct pessoa

{

char * nome;

}

 

void correr(struct & pessoa)

{

printf("Eu corro");

}

 

 

 

Em C++:

 

public class Pessoa

{

char * nome;

 

 

public void correr()

{

cout << "Eu corro ";

}

 

}

 

note que no exemplo de C++ está tudo junto representando uma pessoa.

 

 

 

 

 

C# é uma linguagem baseada em linguagens de mais baixo nivel(perto de hardware) que por sua vez (por baixo dos panos hehehe) é C/C++. Esta linguagem é desenvolvida pela equipe de microsoft para aplicações que rodam sobre a plataforma .net esta plataforma, proporciona portabilidade, pois pode ser instalada em qualquer Sistem operacional e a linguagem de programação se baseia na plataforma e não no sistema operacional que nem C. C# possui o mesmo mecanismo que a linguagem Java.

 

C# veio depois de C++ como ja explicado pelo nosso colega de fórum. Nossos sistemas computacionais praticamente são BASEADOS em Assembly(linguagem de máquina) e C/C++(linguagens de sistema ou científicas).

 

 

 

Para um bom estudo, recomendo você ler sobre algoritmos. Irão ajudar para desenvolver raciocinio lógico para programar, para depois você seguir o metodo estruturado do C e depois o orientado a objeto do C++, assim você terá uma base boa para programar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×