-2

このコードからsxの値をどのように見つけますか私はc ++の初心者で、解決方法がわかりません助けてくださいありがとう

// StarterLab.c : C Program to convert to C++
//

//#include "stdafx.h"       // required for Visual Studio
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
//#include "MemTracker.h"

#pragma warning (disable:4996)

using namespace std;

struct variable
{

friend void showCalculation(variable a);

private:
    int x;
    int y;
    int sum;

public:
    void Calculate(int x,int y);

};


void showCalculation(variable a)
{
    printf("%d",a.sum);
};

void variable:: Calculate (int x,int y)
{
    sum = x + y;
};

int main ()
{

    variable s;
    s.Calculate(7, 6);
    showCalculation(s);
    printf("%d",s.x);
}

このコードからsxの値をどのように見つけますか私はc ++の初心者で、解決方法がわかりません助けてくださいありがとう

4

2 に答える 2

1

変数xprivateであるため、直接アクセスすることはできません。メンバー関数を追加して取得できます。

int variable::GetX() {
  return x;
}

printf("%d", s.GetX());
于 2013-07-07T06:41:07.640 に答える
1

非公開会員のs.xためアクセスできません。x2 つのオプションがあります。

ゲッターを作成します:

int variable::X() { return x; }

またはそれを作るpublic

public:
    int x;
    int y;
    int sum;

getter/setter を使用することがこれを行う適切な方法であることに注意してください。

于 2013-07-07T06:41:37.397 に答える