C++与C语言的不同(一)
来源:互联网 发布:android ndk r9d mac 编辑:程序博客网 时间:2024/05/19 13:59
1>动态分配内存不同
在C语言中,动态分配内存有很长一段,例如int* p=(int*)malloc(sizeof(int));而在C++中,int *p=new int;
int *p=(int *)malloc(16*sizeof(int))等价于int *p=new int[16];
2>结构体的定义不同
在C++中,结构体的内部和C语言不完全一样,c++中结构的成员变量不仅可以是简单的int char.....类型,
还可以在内部定义函数。同时,在定义结构体的时候,不用再写struct student a1,而可以简单的写成student a1;
例子:
#include<iostream>using namespace std;struct student{int age;int score;char name[10];//成员函数void put()//其实是void put(struct student * this) {cout<<age<<" "<<score<<" "<<name<<"这是成员函数的输出"<<endl;}};int main(){student a1;//在c++中,不用写上struct student a1, // 直接student a1即可;cout<<"请输入学生的年龄,分数,姓名"<<endl;cin>>a1.age>>a1.score>>a1.name;a1.put();//a1.put(&a1);把a1的地址发送给了this指针cout<<a1.age<<" "<<a1.score<<" "<<a1.name<<endl;return 0;}在成员函数中,对于变量age,score等来说,都是代表的是成员变量,在c++中其实隐藏这一个this指针。
3>定义的函数名称可以相同,只是函数内形参的个数或者类型不同。
#include<iostream>using namespace std;void a1(int a){cout<<"大家好,我是a1函数,我的值是"<<a<<endl;}void a1(int a,int b){cout<<"大家好,我也是a1函数,我的值是"<<a+b<<endl;}int main(){a1(5);a1(7,8);return 0;}
vc6.0演示:
大家好,我是a1函数,我的值是5
大家好,我也是a1函数,我的值是15
Press any key to continue
0 0
- C++与C语言的不同(一)
- Java与C语言的不同
- C++与C语言的不同
- Java与C语言的不同
- Java与c语言的命令行参数的不同
- xcode写C语言的数据类型与vs的不同
- C语言-数组a[]:a与&a的不同
- C语言中delete与delete []的不同
- python 中main与c语言的不同
- C语言左值与右值的区别(C语言深度剖析读书笔记一)
- C语言文件与目录(一)
- C语言数据类型与变量:(一)
- 同一个C语言工程不同C文件之间的函数互相调用问题(一)
- Swift语言中与C-C++和Java不同的语法(四)
- java与c的不同
- C语言学习笔记 (一) C语言的关键字
- 【C语言疯狂讲义】(一)C语言的简介
- C语言(一)
- HDU2066 一个人的旅行(dijkstra算法)
- Sublime:打造Go编辑器并配合使用terminal编译运行golang程序
- 直线,折线,曲线分割平面以及平面分割空间问题
- Android动态加载布局(fragment限定符的使用)
- Java开发控制台程序的输入输出
- C++与C语言的不同(一)
- 记录一个多核CPU负载不均衡问题
- git学习-历史回滚
- Android视频
- 【Android】56、动态加载布局的技巧——使用最小宽度限定符
- Unity3D-旧版AssetBundle相关API介绍
- Web综合应用实验(html css javascript)
- Web前端面试题目汇总
- 网络--路由器桥接