C ++类初学者

时间:2013-07-07 06:37:23

标签: c++

你们如何从这段代码中找到s.x的值 我是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);
}

你们如何从这段代码中找到s.x的值 我是c ++的初学者,不知道如何解决它 请帮助谢谢

2 个答案:

答案 0 :(得分:0)

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

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

printf("%d", s.GetX());

答案 1 :(得分:0)

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

创建getter

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

或将其public

public:
    int x;
    int y;
    int sum;

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