C++笔记 inline类成员函数、const成员函数、mutable修饰符、this指针
inline类成员函数:
#include <string>
#include <iostream>
using namespace std;
class student {
public:
explicit student(int age, int year);
student();
inline void text();
private:
string name = "null";
int year=0;
int age=0;
};
inline void student::text(){
}
需要注意的是inline成员函数实现必须和声明在同一个头文件中,否则可能会报错。
const成员函数:
#include <string>
#include <iostream>
using namespace std;
class student {
public:
explicit student(int age, int year);
student();
void text() const;
private:
string name = "null";
int year=0;
int age=0;
};
void student::text() const {}
const成员函数表示不会修改类中的其他成员,也无法修改。
mutable修饰符
使用前缀mutable就可以在const成员函数内存进行修改。
this指针
普通成员函数:
类类型 *const this
const成员函数:
const 类类型 *const this
拷贝构造函数:
student::student(student& T): x(1) {
cout << "拷贝构造函数" << endl;
}
student a1;//默认构造函数
student a2 = a1;
student a3 (a1);
student a4{ a1 };
student a5 = { a1 };