zoukankan      html  css  js  c++  java
  • static成员函数不能调用non-static成员函数

    1 一般类静态成员函数不能调用非静态成员函数

    2 static成员函数可以调用构造函数吗?

    答案是肯定的,由于static成员函数没有this指针,所以一般static成员函数是不能访问non-static成员的,包括成员函数和成员变量。

    由于构造函数特殊性,它从无到有构造一个对象,因此调用它不需要一个instance,也就是不需要this指针来调用,所以在static 函数中能调用构造函数。
    o 构造函数分成两个阶段:
        1. 分配内存:这是从无到有阶段,该阶段结束,产生一个instance,也即this。
        2. 初始化内存:真正调用构造函数的部分。此时已经是对该instance调用构造函数,因此,可以调用任何非静态函数。
    o 在静态函数中,只要是通过instance.Func()或者pointer->Func()的方式就可以调用非静态函数,因为显式指定了this。
    因此提倡在所有非静态成员函数中显示使用this来使用成员。

  • 相关阅读:
    PHP常量
    jquery中的几种常用总结
    jquery中的ajax
    常用的jquery一些总结
    js验证手机号邮箱号用户名
    PHP优化杂烩
    一个php开发的用于路由器的小功能
    HTML <form>
    window.open
    try&catch
  • 原文地址:https://www.cnblogs.com/wuchanming/p/4799260.html
Copyright © 2011-2022 走看看