-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

该变量x私有的,因此您不能直接访问它。您可以添加一个成员函数来获取它:

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

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

您无法访问s.x,因为x是私人成员。你有两个选择。

创建一个吸气剂

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

或使它public

public:
    int x;
    int y;
    int sum;

请注意,使用 getter/setter 是执行此操作的适当方式。

于 2013-07-07T06:41:37.397 回答