程序1:
#pragma warning(disable:4996)
//2022年9月21日19:20:29
#include <iostream>
using namespace std;
class Maker
{
public:
Maker()
{
a = 20;
}
public:
//1.生命周期是整个程序,作用域在类内
static int a;
};
void test01()
{
Maker m;
}
int main()
{
system("pause");
return EXIT_SUCCESS;
}
输出结果:(静态成员变量要在类内声明,类外初始化)
程序2:
#pragma warning(disable:4996)
//2022年9月21日19:20:29
#include <iostream>
using namespace std;
class Maker
{
public:
Maker()
{
}
public:
//1.生命周期是整个程序,作用域在类内
static int a;
};
//2.静态成员变量要在类内声明,类外初始化
int Maker::a = 100;
void test01()
{
Maker m;
cout << m.a << endl;
}
int main()
{
test01();
system("pause");
return EXIT_SUCCESS;
}
输出结果:
100
请按任意键继续. . .
程序3:
#pragma warning(disable:4996)
//2022年9月21日19:20:29
#include <iostream>
using namespace std;
class Maker
{
public:
Maker()
{
}
public:
//1.生命周期是整个程序,作用域在类内
static int a;
};
//2.静态成员变量要在类内声明,类外初始化
int Maker::a = 100;
void test01()
{
//3.静态成员变量属于类内,不属于对象,是所有对象共享
cout << Maker::a << endl;
Maker m;
cout << m.a << endl;
}
int main()
{
test01();
system("pause");
return EXIT_SUCCESS;
}
输出结果:
100
100
请按任意键继续. . .
程序4:
#pragma warning(disable:4996)
//2022年9月21日19:20:29
#include <iostream>
using namespace std;
class Maker
{
public:
Maker()
{
}
public:
//1.生命周期是整个程序,作用域在类内
static int a;
};
//2.静态成员变量要在类内声明,类外初始化
int Maker::a = 100;
void test01()
{
//3.静态成员变量属于类内,不属于对象,是所有对象共享
cout << Maker::a << endl;
Maker m;
cout << m.a << endl;
//4.静态成员变量可以用类访问,也可以用对象访问
}
class Maker2
{
public:
Maker2()
{
}
//静态成员函数只能访问静态成员变量
static void setA(int a)
{
a2 = a;
cout << "a2 = " << a2 << endl;
//a1 = a;//err不能访问普通成员变量
}
public:
int a1;
static int a2;
};
int Maker2::a2 = 200;
void test02()
{
Maker2::setA(300);
}
int main()
{
test02();
system("pause");
return EXIT_SUCCESS;
}
输出结果:
a2 = 300
请按任意键继续. . .
程序5:
#pragma warning(disable:4996)
//2022年9月21日19:20:29
#include <iostream>
using namespace std;
class Maker
{
public:
Maker()
{
}
public:
//1.生命周期是整个程序,作用域在类内
static int a;
};
//2.静态成员变量要在类内声明,类外初始化
int Maker::a = 100;
void test01()
{
//3.静态成员变量属于类内,不属于对象,是所有对象共享
cout << Maker::a << endl;
Maker m;
cout << m.a << endl;
//4.静态成员变量可以用类访问,也可以用对象访问
}
class Maker2
{
public:
Maker2()
{
}
//静态成员函数只能访问静态成员变量
static void setA(int a)
{
a2 = a;
cout << "a2 = " << a2 << endl;
//a1 = a;//err不能访问普通成员变量
}
public:
int a1;
static int a2;
};
int Maker2::a2 = 200;
void test02()
{
Maker2::setA(300);
}
class Maker3
{
private:
static int a3;
public:
static void func()
{
cout << "a3 = " << a3 << endl;
}
};
int Maker3::a3 = 300;
void test03()
{
Maker3::func();
}
//const修饰的成员变量最好在类内初始化
class Maker4
{
public:
const static int a = 20;
const static int b;
};
//类外也可以初始化
const int Maker4::b = 30;
int main()
{
test03();
system("pause");
return EXIT_SUCCESS;
}
输出结果:
a2 = 300
请按任意键继续. . .
程序6:
#pragma warning(disable:4996)
//2022年9月21日19:20:29
#include <iostream>
using namespace std;
class Maker
{
public:
Maker()
{
}
public:
//1.生命周期是整个程序,作用域在类内
static int a;
};
//2.静态成员变量要在类内声明,类外初始化
int Maker::a = 100;
void test01()
{
//3.静态成员变量属于类内,不属于对象,是所有对象共享
cout << Maker::a << endl;
Maker m;
cout << m.a << endl;
//4.静态成员变量可以用类访问,也可以用对象访问
}
class Maker2
{
public:
Maker2()
{
}
//静态成员函数只能访问静态成员变量
static void setA(int a)
{
a2 = a;
cout << "a2 = " << a2 << endl;
//a1 = a;//err不能访问普通成员变量
}
public:
int a1;
static int a2;
};
int Maker2::a2 = 200;
void test02()
{
Maker2::setA(300);
}
class Maker3
{
private:
static int a3;
public:
static void func()
{
cout << "a3 = " << a3 << endl;
}
};
int Maker3::a3 = 300;
void test03()
{
Maker3::func();
}
//const修饰的成员变量最好在类内初始化
class Maker4
{
public:
const static int a = 20;
const static int b;
};
//类外也可以初始化
const int Maker4::b = 30;
//const修饰的静态成员变量最好在类内初始化
class Maker5
{
public:
void func()
{
cout << "a = " << a << endl;
}
public:
static int a;
};
int Maker5::a = 30;
void test04()
{
Maker5 m;
m.func();
//Maker::func();//err普通成员函数
}
int main()
{
test04();
system("pause");
return EXIT_SUCCESS;
}
输出结果:
a3 = 30
请按任意键继续. . .
标签:20,变量,静态,Maker,int,100,public
From: https://www.cnblogs.com/codemagiciant/p/16717164.html