企业官网建站的流程,网络媒体设计与制作,国内的电商平台有哪些,开店做网站有什么好处面试题小结#xff1a;
1、指针与引用的区别#xff1f;
#xff08;1#xff09;指针指向的是变量的地址#xff0c;而引用是指向变量本身#xff1b;
#xff08;2#xff09;指针可以有多级指针#xff0c;而引用只有一级引用#xff1b;
#xff08;3#…面试题小结
1、指针与引用的区别
1指针指向的是变量的地址而引用是指向变量本身
2指针可以有多级指针而引用只有一级引用
3指针可以不初始化但是引用必须初始化
4指针可以改变指向但是引用初始化后就不能更改对象
5指针用const修饰时可以修饰指针指向和指向的内容但引用只能修饰变量的值
6没有引用数组但是有数组引用
7指针在分配时需要额外分配8bit空间而引用不需要分配
8指针在使用时需要解引用而引用是直接使用。 2、malloc、free、new、delete区别
1malloc和free是以字节为单位向堆区申请空间而new和delete是以数据类型为单位
2malloc和free是库函数而new和delete是关键字
3malloc和free的返回值是void*类型的万能指针而new和delete返回的是设置的数据类型
4malloc申请时不能进行初始化而new申请可以进行初始化
5new申请空间时会调用构造函数malloc不会
6delete释放空间时会调用析构函数free不会 3、C中const的使用
const最核心的使用原理是保护
1修饰常量表示修饰的常量不能进行修改
2修饰指针可以修饰指针本身指针指向也可以修饰指向的内容
3修饰函数修饰函数的参数和返回值时是为了保护传参和返回值防止被修改
4修饰成员变量时表示不能被访问和修改 4、什么是回调函数
回调函数通过函数指针来实现通过传递函数地址用函数指针来接受函数地址再通过函数参数类型来完成回调函数在回调函数的使用中可以大大提高编程的效率常接触到的回调函数有创建线程时构造的线程体其本质也是回调函数。 5、函数重载的相关内容
函数重载的使用是为了达到一名多用的目的但是其参数列表必须不同函数名相同且在同一个作用域下函数重载和返回值没有关系。
6、谈谈对面向对象的特征
首先面向对象有三大特征封装、继承、多态抽象面向对象的概念就是将一个事物的所有行为和属性等万事万物都封装起来我们称之为类并在类中提供公共接口用户可以通过公共接口来完成对该类实例化对象的操作。
作业
1、
封装一个结构体结构体中包含一个私有数组用来存放学生的成绩包含一个私有变量用来记录学生个数
提供一个公有成员函数void setNum(int num)用于设置学生个数
提供一个公有成员函数void input(),用来对所有学生的成绩进行输入工作
提供一个公有成员函数void sort(),用来实现对存储的学生成绩进行降序排序
提供一个公有的成员函数void show(),用于将所有学生的成绩展示出来
在主程序中完成相关函数的调用
#include iostreamusing namespace std;struct Data{
private:double arr[50];
private:int num;
public:void setNum(int num){this-num num;/*cout请输入学生个数cinnum;*/}
public:void input(){for(int i0;inum;i){cout请输入第i1个学生的成绩:;cinarr[i];}}
public:void sort(){for(int i1;inum;i){for(int j1;jnum;j){if(arr[j]arr[j-1]){double temparr[j];arr[j]arr[j-1];arr[j-1]temp;}}}}
public:void show(){cout学生成绩从高到低依次为:;for(int i0;inum;i){if(0i){coutarr[i];continue;}cout arr[i];}coutendl;}
};
int main()
{Data a;int num;cout请输入学生个数:;cin num;a.setNum(num);a.input();a.sort();a.show();return 0;
}2、思维导图有道云笔记