
C++是在C语言基础上迭代出的高级语言,它向下兼容C语言,向上进行了扩充,引入了面向对象的概念。
所以说C++既是面向过程的语言,又是面向对象的语言。
从内容上看,C++相对C语言主要变化是提供了强大的STL库,其对C语言中的栈,堆,队列等数据结构进行了封装,减少了程序员“造轮子”的环节,同时提供了一些算法,方便了日常使用。
面向对象主要是将事务看成一个个实体,每个实体都有自己的属性和方法,一件具体事情的完成是由各个对象彼此分工,相互协作来实现的。
面向过程是强调过程,它是将事情划分为一步一步的实际 *** 作过程,一般简单逻辑使用面向过程,复杂逻辑使用面向对象编程。
就拿番茄炒蛋打比方,面向过程就是将做法分为先打碎鸡蛋,然后搅匀,加调味料,下锅炒,捞出,炒番茄直到出汁,混入鸡蛋翻炒,装盘。
面向对象就是将番茄,鸡蛋,锅,调味料看成对象,各自都有属性和方法,比如鸡蛋的方法就是打碎,搅匀,锅的方法就是翻炒。
如此是不是好理解多了。
它们有各自的优缺点,面向过程性能高于面向对象,但是可维护性低。
而面向对象的封装、继承、多态特性能够使设计出的系统更加灵活。
#include
int main(){
using namespace std;
cout<<"hellocpp!"<
输出
4.cin,cout,endlendl是C++中的换行符,类似于C语言的"\n";
cin和cout分别为C++中的标准输入和标准输出,类似于C语言中的scanf和printf函数,使用它们时需要包含头文件 优点:cin将判断变量类型的工作交给了编译器,而scanf是指针 *** 作,需要程序员给出变量类型,优点是简化了程序员的工作;对类类型的处理更加智能; 缺点:编译器判断变量类型会导致效率降低。 cout和printf也是具备以上优缺点,同时,cout运算符是可以重载的,这也就意味着将刷新缓冲区的权利交给了程序员,而printf中是没有缓冲区的。 幸运的是,C++是兼容二者的,使用哪一个就看个人习惯了。 在c++中函数名变量名都是大量存在的,如果直接放在全局变量中,那么我们自己定义变量名或者类名时大概率会产生命名冲突,所以命名空间这个概念应运而生。 实际上命名空间是一个作用域,它将其中的成员函数和变量的作用范围限制在此作用域中,当我们需要使用其中变量时,再把这个命名空间拿过来使用。 命名空间有以下三种使用方式 (1)加命名空间名称以及作用域限定符 (2)使用using将命名空间中的成员引入 (3)使用using namespace将命名空间名称引入 std是C++中的标准库,里边定义了许多函数,比如cin,cout,容器,迭代器等等。 所以上边我们使用cin,cout时需要使用命名空间调用std这个库,想了解更多std库的内容,可以具体搜索。 缺省参数的意思是在函数声明或者函数定义时,为函数设置一个默认值。 如果在调用时未指定实参则使用该初始值。 缺省参数也分为半缺省和全缺省。 调用时完全未赋值,定义时赋值。 注意: *半缺省参数必须从右往左依次提供,不能间隔的赋值 *缺省参数不能在声明和定义同时出现 *缺省值必须为全局变量或者常量 以上就是我们第一天的内容啦,如果有问题的小伙伴们可以在评论区留言,我会很快回复的呦,那么明天再见喽! 欢迎分享,转载请注明来源:内存溢出namespace test{
int a=1;
int b=2;
int add(int a,int b){
return a+b;
}
}int main(){
printf("%d\n",test::a);
return 0;
}using test::b;
int main{
printf("%d",b);
return 0;
}
5.2 std
using namespace test;
int main{
printf("%d",b);
return 0;
}#include#include
微信扫一扫
支付宝扫一扫
评论列表(0条)