C++ 学习 之 成员指针

C++ 学习 之 成员指针_第1张图片
实例成员指针

  • 不能参与运算
  • 不能强制类型转换
  • 不能移动
    C++ 学习 之 成员指针_第2张图片
    C++ 学习 之 成员指针_第3张图片
    C++ 学习 之 成员指针_第4张图片
    C++ 学习 之 成员指针_第5张图片
    用法就是 * 加上一个指针,就是解引用,我们再在前面加上一个对象就行
    C++ 学习 之 成员指针_第6张图片
    C++ 学习 之 成员指针_第7张图片
struct A {
public:
	int j , i;
	static int k;
	int f(int x) {
		std::cout << "77";
		return 0;
	}
	static int g(int x) {
		std::cout << "88" << std::endl;
		return x;
	}
}a;
int A::k = 1;  // 类外初始化的时候就不需要带 static
int f3() {}
int main() {
	
	int* p = &A::k;
	int (*p4)() = f3;
	int (*f)(int) = &A::g;
	int (A::*t)(int) = &A::f;  // 这个 & 不可以去掉
	(*f)(7);
	(a.*t)(8);  
}

C++ 学习 之 成员指针_第8张图片


你可能感兴趣的:(c++,1024程序员节)