从结构struct谈到类class(基于C++实现)(2)

this指针:this指针是系统自动定义的,用来保存结构变量的地址。当我们创建一个对象的时候,系统就会自动将该对象对应的类的成员保存在this中,我们可以通过this->mem_val或this->mem_func,来访问该成员。在一个成员函数中,可以不用写this,表示默认使用该成员函数所在类的成员变量。
  构造函数总结:
  (1)构造函数不同写返回值,其函数名与类名一致。
 (2)构造函数在每个对象创建的时候都不被自动调用一次。
 构造函数的调用顺序
    ·全局对象的构造函数在main之前调用。
    ·静态局部对象的构造函数在整个程序的执行过程中只调用一次。
class A{
  int n;
public:
  A(int n) : n(n){
        cout << "A(" << n << ')' <<  endl;
    }   
    ~A(){
        cout << "~A(" << n << ')' << endl;
    }   
};
void func(){
    A a2(2);
    static A a3(3);
}
int main(int ac, char *av[])
{
    A a4(4);
    cout << "first call func : \n";
    func();
    cout << "second call func : \n";
    func();
 
    return 0;
}
A a1(1); 
//==========================
// 1:全局对象
// 2:函数func中的自动对象
// 3:函数func中的静态全局对象
//4:函数main中的自动对象
//===============================
结果显示:
[root@anna-laptop construtor]# ./call_queue 
A(1) 
A(4)
first call func : 
A(2)
A(3)
~A(2)
second call func : 
A(2)
~A(2)
~A(4)
~A(3)
~A(1)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e135a0423fbbbbc29c0d055e105651aa.html