c语言和c++区别
展开全部
区别有很多,研究这些东西的大师可以写好几本书来讲这个问题。
但是最通常的区别,也即大家最常提及的区别是:c是面向过程的,c++是面向对象的。
简单通俗来说:
写c的时候,脑子里想的是一行一行代码往下执行,总体的程序就是走一个过程,顺序、分支、条件,这些都是过程。
先创建一个怪兽,然后指使这个怪兽攻击,接着调用函数让它移动到高地水晶边上,然后销毁怪兽,可能是这样的:
Kaiju* k = (Kaiju*)malloc(sizeof(Kaiju));
if (k == NULL) exit(1);
InitKaiju(k);
LetKaijuAttack(k);
MoveKaijuTo(k, POSITION_HIGHLAND_HOME);
DestroyKaiju(&k);
写c++的时候,脑子里想的是一个一个的对象,敌人是一个对象,长得像怪兽的敌人是一个对象,长得像怪兽而且用Kaiju激光攻击的敌人也是一个对象,这些对象之间可能存在“继承、组合”的关系。创建一个怪兽,至于这个怪兽是怎么攻击,怎么移动的,都在这个怪兽对象对应的类里面指定,你只知道这是一个怪兽。所以可能是这样的:
Kaiju* k = new Kaiju;
k.attack();
k.moveTo(POSITION_HIGHLAND_HOME);
delete k;
但是最通常的区别,也即大家最常提及的区别是:c是面向过程的,c++是面向对象的。
简单通俗来说:
写c的时候,脑子里想的是一行一行代码往下执行,总体的程序就是走一个过程,顺序、分支、条件,这些都是过程。
先创建一个怪兽,然后指使这个怪兽攻击,接着调用函数让它移动到高地水晶边上,然后销毁怪兽,可能是这样的:
Kaiju* k = (Kaiju*)malloc(sizeof(Kaiju));
if (k == NULL) exit(1);
InitKaiju(k);
LetKaijuAttack(k);
MoveKaijuTo(k, POSITION_HIGHLAND_HOME);
DestroyKaiju(&k);
写c++的时候,脑子里想的是一个一个的对象,敌人是一个对象,长得像怪兽的敌人是一个对象,长得像怪兽而且用Kaiju激光攻击的敌人也是一个对象,这些对象之间可能存在“继承、组合”的关系。创建一个怪兽,至于这个怪兽是怎么攻击,怎么移动的,都在这个怪兽对象对应的类里面指定,你只知道这是一个怪兽。所以可能是这样的:
Kaiju* k = new Kaiju;
k.attack();
k.moveTo(POSITION_HIGHLAND_HOME);
delete k;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |