我是初学者。而且,我试过这个。
#include <iostream>
using namespace std;
class Square
{
int Number;
public:
Square(int a): Number(a) {}
int getSquare()
{
return Number*Number;
}
};
class SumNumber
{
Square a;
int FirNum;
int SecNum;
public:
SumNumber(int Number, int x, int y): a(Number),FirNum(x), SecNum(y) {}
int getSumNumber() //output-er
{
return FirNum + SecNum + a.getSquare();
}
};
int main() {
SumNumber a(2,3,4); //sums up squared number 2, and 3 and 4
cout << "Sum of Numbers\t" << a.getSumNumber() << endl; //=11
}
但是,如果我想要2个类Square的值
,该怎么办?Class Square
{
int Number;
int NextNumber;
public:
...
};
和另一个班级
class SumNumber //creating class SumNumber
{
Square a;
int FirNum; //first number
int SecNum; //second number
public:
...
};
问题是: 是否可以将Square类中声明的两个值转换为SumNumber?如果是这样,怎么样?
答案 0 :(得分:0)
我认为您正在寻找的是 getter 。它只是一个可以返回私有成员值的方法,因为你的方形类返回一个数字的平方 您可以按如下方式进行更改:
class Square
{
int Number;
int nextNumber;
public:
Square(int a, int b): Number(a), nextNumber(b) {}
int getNumberSquared()
{
return Number*Number;
}
int getNextNumberSquared()
{
return nextNumber*nextNumber;
}
};
在你的其他课程中你可以拥有:
class SumNumber
{
Square a;
int FirNum;
int SecNum;
public:
SumNumber(int Number, int nextNumber,int x, int y):
a(Number, nextNumber),FirNum(x), SecNum(y) {}
int getSumNumber() //output-er
{
return FirNum + SecNum + a.getNumberSquared() + a.getNextNumberSquared();
}
};