静态成员函数
- 可以访问静态成员变量,不可以访问普通成员变量
- 普通成员函数 都可以访问
- 静态成员函数也有权限
- 可以通过对象访问,也可以通过类名访问
#include<iostream>
using namespace std;
class Judy {
public:
int m_id;
static int m_password;
static void func() {
//不可以访问 普通成员变量
//m_id = 20;
m_password = 22798;
cout << "静态成员函数调用" << endl;
};
// 普通成员函数 可以访问普通成员变量,也可以访问静态成员变量
void func1() {
m_id = 20;
m_password = 22798;
cout << "期待顺手点赞与关住," << endl;
};
private:
static void func2() {
cout << "初来乍到,希望多多关注" << endl;
};
};
int Judy::m_password = 1113;
void test01() {
Judy j1;
Judy j2;
//静态成员函数调用
j1.func();
j2.func();
Judy::func();
//静态成员函数也是有权限的
//Judy::func2();
}
int main() {
test01();
system("pause");
return 0;
}
如果一个类A的成员变量是一个类对象,那么类A的静态成员函数不可以访问该类对象;类A的一个静态成员函数可以访问另
一个静态成员函数
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class A {
public:
void print() {
cout << "12" << endl;
}
};
class B {
public:
static void testB() {
a.print();
}
A a;
};
int main(){
B::testB();
system("pause");
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class B {
public:
static void testB1() {
cout << "456" << endl;
}
static void testB2() {
B::testB1();
}
};
int main(){
B::testB2();
system("pause");
return 0;
}