• oop第四次课作业总结


    静态成员函数和静态成员变量

    以静态成员函数为例总结,静态成员变量异曲同工。
    类的静态成员函数是同一类的所有对象共享的,不需要用this指针
    可以通过类名和对象名访问静态成员函数
    声明时要在普通成员函数加上static,在定义时不需要
    注意 在初始化静态成员变量时要在类外!!
    例如:(该例子会在后面给出题目)

    class Group {
    private:
    	int num;
    	static int blackList[N];
    	static int size;
    public:
    	Group();
    	Group(int num, bool bSign);
    	static void addToList(int num);
    	static void removeFromList(int num);//静态成员函数的声明(要说明static)
    	static void displayList();
    };
    Group aa;
    void Group::removeFromList(int num) {//静态成员函数的定义(无需说明static)
    	int ii;
    	for ( ii = 0; ii < N; ii++) {
    		if (blackList[ii] == num) {
    			break;
    		}
    	}
    	for (ii = ii; ii + 1 < N; ii++) {
    		blackList[ii] = blackList[ii + 1];
    	}
    	blackList[ii] = 0;
    	size--;
    }
    

    可以如此引用

    aa.removeFromList(num);
    //或者
    Group::removeFromList(num);
    Group::size=0;//初始化静态成员变量
    

    静态成员函数和普通成员函数的区别

    静态成员函数 普通成员函数
    隐含this指针 no yes
    能够访问普通成员函数(变量) no yes
    能够访问静态成员函数(变量) yes yes
    能够通过类名直接调用 yes no
    能够通过对象名调用 yes yes

    例题:oop第四次练习6-4
    写得更好更详细的一篇博客传送门

    如何动态创建对象数组

    1、使用new进行创建,但在最后要记得使用delete释放
    简单解释下:当new创建只是一个对象时,使用“delete 对象名”来释放
    而当new创建一个数组(多个对象),使用“delete []对象名”
    原因是delete只能释放一个对象,而“delete []”能释放数组内的所有对象
    2、要重载多个构造函数,首先要有无参类型的构造函数,再根据需要构造有参类型的构造函数
    3、在通过new+无参类型构造函数 构造了对象数组后,接下来可以用循环的方法输入对象数组中的对象元素(7-1);也可以调用有参类型的构造函数使用输入的数据进行处理(7-5)
    例题:oop第四次练习7-1以及oop第四次练习7-5

    常对象、常成员

  • 相关阅读:
    Linux-文件编程
    Linux-编程基础
    Linux-系统管理
    Linux-命令
    图解HTTP-笔记
    微信小程序发送红包功能。填坑记录
    PHP中使用raw格式发送POST请求
    论一个PHP项目上线的注意点
    PHP CURL 模拟form表单上传遇到的小坑
    使用php的curl函数post返回值为301永久迁移的问题。(301 Moved Permanently)
  • 原文地址:https://www.cnblogs.com/xiao-qingjiang/p/12892326.html
Copyright © 2020-2023  润新知