你们如何从这段代码中找到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 ++的初学者,不知道如何解决它 请帮助谢谢
答案 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是执行此操作的合适方法。