电脑网络

C++程序改错

346 浏览

C++程序改错

1 个回答

骇熊的锅用户头像
骇熊的锅 回答于 2024-07-20
已采纳

提问:C++程序改错

#include <iostream>using namespace std;class A{public: A(int x):a1(x) {} static void fun(int x) { A t(x); cout<<"a1="<<a1<<endl; cout<<"a2="<<a2<<endl; }private: int a1; int a2;};static int A::a2=10; int main(){ int x; cin>>x; A::fun(x); return 0;}

网友回答:

修改好的

#include <iostream>

using namespace std;

class A

{

    public:

        A(int x):a1(x)

        {}

        static void fun(int x)

        {

            A t(x);

            //a1非静态变量,不能在静态函数中直接使用 

            cout<<"a1="<<t.a1<<endl;

            cout<<"a2="<<a2<<endl;

        }

 

    private:

        int a1;

       static int a2; //a2必须是静态的 

};

int A::a2=10; //类静态初始化前面不能再加 static

int main()

{

    int x;

    cin>>x;

    A::fun(x);

    return 0;

}


我来回答

相关问题