01 this指针的使用
1永远指向当前对象
2解决命名冲突
3*this指向对象的实体
4非静态的成员函数才有this指针
02空指针访问成员函数
1.如果成员函数没有用到this,那么空指针可以直接访问
2.如果成员函数用到this指针,就要注意,可以加if判断,如果this为NULL就return
03常函数 常对象
1.常函数 void func() {}; const 常函数
2.常函数 不能修改this指针执行的值
3常对象 在对象钱加入 const 修饰 const Person p1
4常对象 不可以调用普通的成员函数
5用mutable修饰的关键字实在常函数可以修改的
04友元
1.全局函数做友元函数 全局函数写到 类中做声明 并且
全局函数做友元函数
class Building
{
friend void goodGay(Building * building);
//让全局的好基友函数 变为我的好朋友 友元函数
//客厅 卧室
public:
Building()
{
this->m_SittingRoom = "客厅";
this->m_BedRoom = "卧室";
}
string m_SittingRoom;//客厅
private:
string m_BedRoom;//卧室
};
05类模板的分文件编写问题及解决
- .h和 .cpp分别写声明和实现
- 但是由于 类模板的成员函数运行阶段才去创建,导致包含.h头文件,不会创建函数的实现,无法解析外部命令
- 解决方法 包含 .cpp文件
- 不要进行分文件编写,写到同一个文件中,进行声明和实现,后缀名改为.hpp