C++this指针、拷贝、赋值构造和单例模式
this指针常函数析构函数特殊的成员函数谁来调用析构函数负责什么缺省的析构函数
拷贝构造赋值构造(赋值运算符)关于拷贝构造、赋值构造的建议静态成员单例模式单例模式的应用场景:获取单一对象的方法:C++如何实现单例模式:饿汉模式懒汉模式
this指针
1、类的成员变量单独存储在每个类对象中,成员函数存储在代码段中,所有类对象共享一份成员函数。 2、成员函数是如何区别调用它的是哪个类对象的?
借助了this指针,类的每个成员函数都有一个隐藏的参数this指针,它指向类对象。
3、类的构造函数中也同样有this指针,指向的就是正在构造的这个对象。 4、在类中(成员、构造、析构函数)对成员变量、成员函数访问都是借助了this指针。 5、this指针是隐藏的,但是也可以显式使用:
1、参数与成员名一样时,使用this指针可以区别出成员变量与参数名
2、在成员函数中如果想返回当前对象地指针、引用等,可以使用this指针实现。
3、将this指针作为函数的参数,从一个对象传递给另一个其他类对象,可以实现对象间的交互。
class User
{
char name[20];
char pass[7];
public:
User(const char* name,const char* pass)
{
strcpy(this->name,name);
strcpy(this->pass,pass);
show();
}
User& func(void)
{
return *this;
}
void show(void)
{
cout |