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)
从结构struct谈到类class(基于C++实现)(2)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://www.heiqu.com/e135a0423fbbbbc29c0d055e105651aa.html