当前位置: 网站首页>小程序开发>网站开发

凤城淘宝装修/凤城京东店铺设计/凤城拼多多网店装修公司/凤城企业网店开通申请-网店装修设计

发表日期: 2022-07-30 16:16:21 浏览次数:59

凤城淘宝装修/凤城京东店铺设计/凤城拼多多网店装修公司/凤城企业网店开通申请-网店装修设计

网站建设.png

  • 3)非静态方法里面能不能引用静态资源?可以,非静态方法就是实例方法,那是实例化对象之后才产生的,那么属于类的内容它都认识。

static 修饰类:这个用得相对比前面的用法少多了,static 一般情况下来说是不可以修饰类的, 如果 static 要修饰一个类,说明这个类是一个静态内部类(注意 static 只能修饰一个内部类),也就是匿名内部类。像线程池 ThreadPoolExecutor 中的四种拒绝机制 CallerRunsPolicy、AbortPolicy、DiscardPolicy、 DiscardOldestPolicy 就是静态内部类。静态内部类相关内容会在写内部类的时候专门讲到。)

3.3 总结:

  • (1)静态成员函数中不能调用非静态成员。

  • (2)非静态成员函数中可以调用静态成员。因为静态成员属于类本身,在类的对象产生之前就已经存在了,所以在非静态成员函数中是可以调用静态成员的。

  • (3)静态成员变量使用前必须先初始化(如 int MyClass::m_nNumber = 0;),否则会在 linker 时出错。

一般总结:在类中,static 可以用来修饰静态数据成员和静态成员方法。

静态数据成员

  • (1)静态数据成员可以实现多个对象之间的数据共享,它是类的所有对象的共享成员,它在内存中只占一份空间,如果改变它的值,则各对象中这个数据成员的值都被改变。

  • (2)静态数据成员是在程序开始运行时被分配空间,到程序结束之后才释放,只要类中指定了静态数据成员,即使不定义对象,也会为静态数据成员分配空间。

  • (3)静态数据成员可以被初始化,但是只能在类体外进行初始化,若未对静态数据成员赋初值,则编译器会自动为其初始化为 0。

  • (4)静态数据成员既可以通过对象名引用,也可以通过类名引用。

静态成员函数

  • (1)静态成员函数和静态数据成员一样,他们都属于类的静态成员,而不是对象成员。

  • (2)非静态成员函数有 this 指针,而静态成员函数没有 this 指针。

  • (3)静态成员函数主要用来方位静态数据成员而不能访问非静态成员。

再给一个利用类的静态成员变量和函数的例子以加深理解,这个例子建立一个学生类,每个学生类的对象将组成一个双向链表,用一个静态成员变量记录这个双向链表的表头,一个静态成员函数输出这个双向链表。

实例

#include <stdio.h>#include <string.h>const int MAX_NAME_SIZE = 30;  


员函数有 this 指针,而静态成员函数没有 this 指针。

(3)静态成员函数主要用来方位静态数据成员而不能访问非静态成员。

再给一个利用类的静态成员变量和函数的例子以加深理解,这个例子建立一个学生类,每个学生类的对象将组成一个双向链表,用一个静态成员变量记录这个双向链表的表头,一个静态成员函数输出这个双向链表。


实例

#include <stdio.h>

#include <string.h>

const int MAX_NAME_SIZE = 30;  

 

class Student  

{  

public:  

    Student(char *pszName);

    ~Student();

public:

    static void PrintfAllStudents();

private:  

    char    m_name[MAX_NAME_SIZE];  

    Student *next;

    Student *prev;

    static Student *m_head;

};  

 

Student::Student(char *pszName)

{  

    strcpy(this->m_name, pszName);

 

    //建立双向链表,新数据从链表头部插入。

    this->next = m_head;

    this->prev = NULL;

    if (m_head != NULL)

        m_head->prev = this;

    m_head = this;  

}  

 

Student::~Student ()//析构过程就是节点的脱离过程  

{  

    if (this == m_head) //该节点就是头节点。

    {

        m_head = this->next;

    }

    else

    {

        this->prev->next = this->next;

        this->next->prev = this->prev;

    }

}  

 

void Student::PrintfAllStudents()


凤城淘宝装修/凤城京东店铺设计/凤城拼多多网店装修公司/凤城企业网店开通申请-网店装修设计

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878