[Cpp]
# Include <QtCore/QCoreApplication>
# Include <iostream>
# Include <stdio. h>
Using namespace std;
Class
{
Public:
A ();
Static void GetStaticNum (); // static function
Void GetNum (); // Common Function
Void UseStatic (); // call a static function
Int j; // common variable Member
Static int I; // static member variable
};
Int A: I = 0; // static member variable Initialization
A: ()
{
J = 2;
}
Void A: GetStaticNum ()
{
I ++;
Cout <"wyz ======== GetStaticNum () I =" <I <endl;
}
Void A: GetNum ()
{
J ++;
Cout <"wyz ======= GetNum () I =" <I <endl;
Cout <"wyz ======== GetNum () j =" <j <endl;
}
Void A: UseStatic ()
{
Static int k = 0; // static variable
K ++;
Cout <"wyz ========= UseStatic () k =" <k <endl;
GetStaticNum ();
}
Int main (int argc, char * argv [])
{
QCoreApplication a (argc, argv );
A aa1;
Aa1.GetNum ();
A aa2;
Aa2.GetNum ();
A aaa1;
Aaa1.GetStaticNum (); // method 1 of static function call
A: GetStaticNum (); // method 2 of static function call
A * aa = new ();
Aa-> GetNum ();
Aa-> UseStatic ();
Aa-> UseStatic ();
Delete aa;
Return 0;
Return a.exe c ();
}
# Include <QtCore/QCoreApplication>
# Include <iostream>
# Include <stdio. h>
Using namespace std;
Class
{
Public:
A ();
Static void GetStaticNum (); // static function
Void GetNum (); // Common Function
Void UseStatic (); // call a static function
Int j; // common variable Member
Static int I; // static member variable
};
Int A: I = 0; // static member variable Initialization
A: ()
{
J = 2;
}
Void A: GetStaticNum ()
{
I ++;
Cout <"wyz ======== GetStaticNum () I =" <I <endl;
}
Void A: GetNum ()
{
J ++;
Cout <"wyz ======= GetNum () I =" <I <endl;
Cout <"wyz ======== GetNum () j =" <j <endl;
}
Void A: UseStatic ()
{
Static int k = 0; // static variable
K ++;
Cout <"wyz ========= UseStatic () k =" <k <endl;
GetStaticNum ();
}
Int main (int argc, char * argv [])
{
QCoreApplication a (argc, argv );
A aa1;
Aa1.GetNum ();
A aa2;
Aa2.GetNum ();
A aaa1;
Aaa1.GetStaticNum (); // method 1 of static function call
A: GetStaticNum (); // method 2 of static function call
A * aa = new ();
Aa-> GetNum ();
Aa-> UseStatic ();
Aa-> UseStatic ();
Delete aa;
Return 0;
Return a.exe c ();
}
Result:
[Cpp]
Starting/root/qtdir/StaticFunc-build-desktop/StaticFunc...
Wyz ========= GetNum () I = 0
Wyz ========= GetNum () j = 3
Wyz ========= GetNum () I = 0
Wyz ========= GetNum () j = 3
Wyz ========= GetStaticNum () I = 1
Wyz ========= GetStaticNum () I = 2
Wyz ========= GetNum () I = 2
Wyz ========= GetNum () j = 3
Wyz ========= UseStatic () k = 1
Wyz ========= GetStaticNum () I = 3
Wyz ========= UseStatic () k = 2
Wyz ========= GetStaticNum () I = 4
/Root/qtdir/StaticFunc-build-desktop/StaticFunc exited with code 0
Starting/root/qtdir/StaticFunc-build-desktop/StaticFunc...
Wyz ========= GetNum () I = 0
Wyz ========= GetNum () j = 3
Wyz ========= GetNum () I = 0
Wyz ========= GetNum () j = 3
Wyz ========= GetStaticNum () I = 1
Wyz ========= GetStaticNum () I = 2
Wyz ========= GetNum () I = 2
Wyz ========= GetNum () j = 3
Wyz ========= UseStatic () k = 1
Wyz ========= GetStaticNum () I = 3
Wyz ========= UseStatic () k = 2
Wyz ========= GetStaticNum () I = 4
/Root/qtdir/StaticFunc-build-desktop/StaticFunc exited with code 0
Author: wyz365889