Передать объект в другой класс

LEXAS444
Offline
Зарегистрирован: 23.07.2018

Привет, знаю вопрос тупой, но все таки уже долго туплю. В неком классе A созданы экземпляры другого класса B. Нужно передать созданные экземпляры в класс С . Пробовал передать сеттером но объекты конфликтуют. Как грамотно передать объекты в класс С?

// A.cpp file
#include "A.h"
#include "B.h"

B b1("1");
B b2("2");
B b3("3");
B b4("4");

  

rkit
Offline
Зарегистрирован: 23.11.2016

Что значит "передать"? Скопировать? Переместить? Создать указатель?

В С нет классов.

В любом случае, показывай что ты пробовал, а не непонятно что.

LEXAS444
Offline
Зарегистрирован: 23.07.2018

Скопировать да. Из одного пакета cpp в другой пакет cpp. Пробую сейчас передать в функцию но тоже не получается

LEXAS444
Offline
Зарегистрирован: 23.07.2018

LEXAS444
Offline
Зарегистрирован: 23.07.2018
Button fireButton(FIRE);
Button setButton(SET);

game.createGame(fireButton, setButton);




Button fireButton;
Button setButton;

void Game::createGame(Button & btn1 , Button & btn2){
  fireButton = btn1;
  setButton = btn2;
  bird = new Bird();
  tube = new Tube();
  tp = millis();
  Game::flappyBird();
}

 

rkit
Offline
Зарегистрирован: 23.11.2016

Кто-то должен что-то понять по этим огрызкам?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

LEXAS444 пишет:

Скопировать да. 

Если надо скопировать, то нахрена Вы параметры ссылками описали?

LEXAS444 пишет:

void Game::createGame(Button & btn1 , Button & btn2){

Во-первых определитесь. что же Вам надо: скопировать, переместить, передать ссылку, передать указатель и т.п. Если (что скорее всего) Вы не слишком уверенно отличаете эти слова одно от другого, то постарайтесь внятно описать своими словами, чего Вам от этого надо.

Во-вторых, по приведённому Вам огрызку ничего сказать нельзя. В одних классах, чтобы скопировать экземпляр ничего делать не нужно, а в других нужен конструктор копирования. У Вас же класс секретный, а потому, единственный ответ Вам - ХЗ.

Запомните, код надо выкладывать полностью (для тормознутых - "п о л н о с т ь ю"), чтобы его можно было просто запустить и посмотреть на проблему. Разумеется, при это он должен быть как можно короче - минимальный, чтобы продемонстрировать проблему - ничего лишнего.