C++ static 函数

来源:百度知道 编辑:UC知道 时间:2024/06/15 18:44:07
//解释一下第二个错误处静态变量的使用
#include<iostream.h>
#pragma warning(disable: 4101)

class C0
{
public:
class C1
{
public:
void print1()
{
cout<<"C0 C1 print1"<<endl;
}
/****found*****/
static void print2()//这里为什么要用static
{
cout<<"C0 C1 print2"<<endl;
}
};

};

void main()
{
C0 obj;
/****found*****/
obj.C1::print2();

/****found*****/
C0::C1 obj2;
obj2.print1();
}

这里为什么要用static
static表示不能在实例化的类对象中调用,只能用类直接调用.
改成:
void main()
{
C0.C1::print2(); //print2()是static型的,只能用类直接调用.

C0::C1 obj2;
obj2.print1(); //print1()不是static型,要用类的实例obj2调用.
}