
c和c++的区别
我知道一个是面向过程,一个是面向对象。但是如果一个问题是分别用c和c++输出helloworldc:#include<stdio.h>intmain(){printf("...
我知道一个是面向过程,一个是面向对象。
但是如果一个问题是分别用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和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")”
最明显的C++有CLASS这个概念,class就可以被理解成一个对象,而这个对象也可以具有多态的性质,在一个class里面声明的成员变量可以定义为private将变量封装在这个class的内存里。而且你也可以另外写一个class来继承这个class,这都是C++面向对象的特点,这些C都是不具备的。简单来说面向对象是针对于某个对象,比如一个对象(class)叫做“打印机”,他的主要工作就是能“printf("hello world\n")”,也可以给他定义多个工作,而另一个对象叫做“人”,他的工作就是可以调用打印机的方法“printf("hello world\n")”。而面向过程,就没有“打印机”和“人”这个概念,只是描述了这件事:“printf("hello world\n")”
展开全部
不对 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");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你举个例子:
假如让C程序员完成 打开收音机这个动作,那C程序员会这样封装自己的函数:
写一个函数叫int OpenRadio(char* people)
把人当作参数穿进去,完成打开收音机的功能!
假如让C++程序完成这个动作
他也许会把这个过程封装到一个类中:
class Radio
{
public:
int OpenRadio();
private:
char people[20];
};
用的时候实例话一下,用实例化出来的对象调一下OpenRadio就好了!
把本质理解了,就知道什么叫面向对象什么叫面向过程了!
最后,如果你达到了一定的境界,C和C++在这些大师眼中是没有任何区别的~
假如让C程序员完成 打开收音机这个动作,那C程序员会这样封装自己的函数:
写一个函数叫int OpenRadio(char* people)
把人当作参数穿进去,完成打开收音机的功能!
假如让C++程序完成这个动作
他也许会把这个过程封装到一个类中:
class Radio
{
public:
int OpenRadio();
private:
char people[20];
};
用的时候实例话一下,用实例化出来的对象调一下OpenRadio就好了!
把本质理解了,就知道什么叫面向对象什么叫面向过程了!
最后,如果你达到了一定的境界,C和C++在这些大师眼中是没有任何区别的~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先C++的语法是以C为基础发展起来的,所以很多地方相似,C++完全兼容C
C是面向过程的,整个程序体现很强的过程性,是沿着流程的发展顺序编写程序; C++是面向对象的,是将一些属性和行为相同的事物抽象成类,程序主要是一个个类组成的
C是面向过程的,整个程序体现很强的过程性,是沿着流程的发展顺序编写程序; C++是面向对象的,是将一些属性和行为相同的事物抽象成类,程序主要是一个个类组成的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++ #include<iostream>
#include<cmath>
C++的强大在于其封装性,面向对象,继承性,最重要的是其STL,标准函数库提供了强大的功能。
#include<cmath>
C++的强大在于其封装性,面向对象,继承性,最重要的是其STL,标准函数库提供了强大的功能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |