C++中关于this指针、static等内容的探究

来源:互联网 发布:win10设置网络优先级 编辑:程序博客网 时间:2024/05/17 22:55

This指针

有时候方法涉及到两个对象,在这种情况下,需要用到c++中的this指针;

1.指向当前对象,可以访问当前对象的所有成员.

2.在类内部可以访问所有成员

3.this只能在非静态成员函数内部使用,其他地方非法。

注意:

       每个成员函数(包括构造函数和析构函数)都有一个this指针。this指针指向调用对象。如果方法需要引用整个调用对象,则可以使用表达式*this。在函数的括号后面使用const限定符this限定为const,这样将不能使用this来修改对象的值。

       然而,要返回的并不是this,因为this是对象的地址,而不是对象本身,即*this(将解除引用运算符*用于指针,将得到指针指向的值)。现在,可以将*this作为调用对象的别名来完成前面的方法定义)。

const Stock & Stock:: topval(const Stock &) const

{

      if   (s.total_val>total_val)

            return s;

      else

            return *this;

}


Static(只能在声明时加)

Static成员变量

static属于类,只能在类的外部初始化

static成员的访问型式:

1.类名::static变量

2.对象.(static变量)

3对象->(static成员变量)

static成员函数

没有this指针,只能访问static成员。




0 0
原创粉丝点击