在另一个类中使用一个类的静态对象

时间:2014-03-21 21:59:43

标签: c++ class static

我试图在另一个类中测试静态对象的调用。我到这里链接错误 LNK2001:未解析的外部符号"公共:静态类KG :: ob1" 我不知道什么是错的,在互联网上我找不到有关静态对象的任何信息,只有静态的所有其他配置。因此我请求你的帮助。我是否需要为这整体创建K的对象,或者我是否能够抽象以至于我没有创建任何对象?

#include <iostream>
using namespace std;

class K
{
    int a;
public:
    K(int x) { a = x; };
    void print() {  cout << " a is: " << a << endl; };
};

class G
{
public:
    static K ob1;
    static void printG()
    {
        ob1.print();
    };
};

int main()
{
    K o1(10);
    G::printG();
    system("pause");
}

1 个答案:

答案 0 :(得分:3)

您必须定义静态变量。它类似于C中的全局变量。

K G::ob1;
int main(){ .... }