是否可以将一个类的两个值带到另一个类并使用它?

时间:2014-03-22 21:09:49

标签: c++ class

我是初学者。而且,我试过这个。

#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?如果是这样,怎么样?

1 个答案:

答案 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();
        }
    };