c和c++的区别

我知道一个是面向过程,一个是面向对象。
但是如果一个问题是分别用c和c++输出hello world
c: #include<stdio.h> int main(){printf("hello world\n");return 0;}
c++:#include<iostream.h> void main() {cout<<"hello world"<<endl;}
语法上很难看到区别对吧?如果是c#:
public void button_onclick(object sender,eventargs e){reponse.write("hello world<br />");}
这很明显语法不一样。
从面向对象上,c++的面向对象体现在哪里?main函数进入,调用其他函数。c语言也是如此。
纠结,明白人帮我举例解释下吧,谢谢。

你先要弄明白什么是面向对象这个概念。
最明显的C++有CLASS这个概念,class就可以被理解成一个对象,而这个对象也可以具有多态的性质,在一个class里面声明的成员变量可以定义为private将变量封装在这个class的内存里。而且你也可以另外写一个class来继承这个class,这都是C++面向对象的特点,这些C都是不具备的。简单来说面向对象是针对于某个对象,比如一个对象(class)叫做“打印机”,他的主要工作就是能“printf("hello world\n")”,也可以给他定义多个工作,而另一个对象叫做“人”,他的工作就是可以调用打印机的方法“printf("hello world\n")”。而面向过程,就没有“打印机”和“人”这个概念,只是描述了这件事:“printf("hello world\n")”
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-31
不对 c纯粹面向过程 而c++是一半面向过程一半面向对象,c++是由c改编的 所以两者语法和格式几乎一样 指针内存分配等极具特色的内容都一样 但是c++有明显的好处 函数的延伸 类 封装 面向对象主要体现在类上面 ,因为类使得模块之间隔离开 语法上区别不大 之前说了 c++是c改编的 虽然语法差别不大 但是类和别的东西在本质上是不一样的 这就是为啥c无法编写大型复杂程序展而c++却可以的原因追问

我觉得你回答的很好。我没用过c++封装。
能举个封装实现的例子吗?
我这样封装对吗?
public class class1{
public void print(string str){
print(%s,str);}}
void main()
{
class1.print("hello world");
}

第2个回答  2013-08-31
给你举个例子:

假如让C程序员完成 打开收音机这个动作,那C程序员会这样封装自己的函数:

写一个函数叫int OpenRadio(char* people)

把人当作参数穿进去,完成打开收音机的功能!

假如让C++程序完成这个动作
他也许会把这个过程封装到一个类中:
class Radio
{
public:
int OpenRadio();

private:
char people[20];
};

用的时候实例话一下,用实例化出来的对象调一下OpenRadio就好了!

把本质理解了,就知道什么叫面向对象什么叫面向过程了!

最后,如果你达到了一定的境界,C和C++在这些大师眼中是没有任何区别的~本回答被提问者采纳
第3个回答  2013-08-31
首先C++的语法是以C为基础发展起来的,所以很多地方相似,C++完全兼容C
C是面向过程的,整个程序体现很强的过程性,是沿着流程的发展顺序编写程序; C++是面向对象的,是将一些属性和行为相同的事物抽象成类,程序主要是一个个类组成的
第4个回答  2013-08-31
C++ #include<iostream>
#include<cmath>
C++的强大在于其封装性,面向对象,继承性,最重要的是其STL,标准函数库提供了强大的功能。