C++之this指针和const对象/成员函数

来源:互联网 发布:mac桌面东西没了 编辑:程序博客网 时间:2024/06/05 16:44

1.this 指针

 class A
 {
  public:
   void foo(B b){}
 };
 class B{};
  A a;
  B b;
  a.foo(b);//a叫做调用对象,b叫做参数对象

 1.1 this指针的概念   见代码06this.cpp

    一般而言,关键字this就是一个指针,对于一般成员函数来说该指针用于指向调用对象的地址而对于构造函数来说该指针指向正在被构造的对象的地址

 1.2 this 指针的用途  (见代码06this.cpp)

    (1)this 指针可以用于在构造函数中区分与形参名相同的成员变量
    (2)this 指针可以用于返回自引用的场合(见代码 07this.cpp)
    (3)this 指针可以用于函数的参数用于交互 (见代码 08this.cpp)

 2.const 对象 和 const 成员函数

 如:
     int i;
     const int i;
     
     Student s;
     const Student s;
 

 (1)常量型函数中的this指针为常量型,以此防止对成员变量的意外修改

 (2)常量型成员函数和非常量型成员函数构成重载,通过常量型对象,引用以及指针只能调用常量型的成员函数;

 而通过非常量型对象、引用、以及指针优先调用非常量型成员函数

 (3)mutable 修饰的成员变量可以在常量型成员函数被修改


0 0
原创粉丝点击