Так что я получил два разных классов в C++,В C++ Как использовать atribute из другого класса
#ifndef A_H
#define A_H
class A
{
public:
...
private:
static const int MAX = 52;
int a_array[MAX];
};
#endif // A_H
И я хотел бы использовать этот массив в другой класс ... Но мне было интересно, если я не могу просто вернуть массив, как мне это сделать? Я вынужден создать другой массив в классе B и скопировать его?
Это будет второй класс ...
#include "A.h"
#ifndef B_H
#define B_H
class B
{
public:
...
void createNewDeck("here would be the array, or the object I'd like to input to use the array inside");
private:
static const int min = 5;
int a_array[min]
};
#endif // B_H
EDIT: Я хочу, чтобы они были разными, я хотел бы иметь метод B, который работает с массивом класса. У меня бы был метод B, который принимает некоторые значения из этого массива; что-то вроде этого, чтобы вы, ребята, могли получить мою идею.
void B::createNewDeck(const A &a){
a_array[0] = a.a_array[5];
a_array[3] = a.a_array[48];
}
Цените свою помощь!
Наследование? или, может быть, вы хотите, чтобы экземпляры A и B были разными (в этом случае передайте A по ссылке и создайте функцию geter для массива) – Raxvan
@ Raxvan Я только что отредактировал, чтобы вы могли понять, что я хочу, чтобы мои два класса делали! – magalenyo
Решение части вашей проблемы заключается в реализации 'int & operator [] (int index) {return a_array [index]}'. Тогда вы можете 'a_array [0] = a [5];'. В остальной части вашей проблемы я не совсем понимаю. – user4581301