Мой код выглядит примерно так:член доступа класса из конструктора другого класса
main.cpp
#include <iostream>
#include "A.h"
#include "B.h"
using namespace std;
int main(){
int d,f;
A c();
d = c.GetStuff();
B *d = new C();
f = d->Get();
return 0;
}
Ах
#ifndef A_H
#define A_H
class A
{
int a;
public A();
int GetStuff() {return(a) ;}
};
#endif
a.cpp
#include "A.h"
A::A()
{
a = 42;//just some value for sake of illustration
}
Bh
#ifndef B_H
#define B_H
Class B
{
public:
virtual int Get(void) =0;
};
class C: public B {
public:
C();
int Get(void) {return(a);}
};
#endif
B.cpp
#include "B.h"
C::C() {
a // want to access this int a that occurs in A.cpp
}
Мой вопрос, что это лучший способ, чтобы получить доступ к "а" в B.cpp? Я пробовал использовать класс «друг», но я не получаю результатов.
Любые предложения? Спасибо!
В вашем коде несколько флагов, но неясно, что вы пытаетесь сделать. Как вы думаете, что делает конструктор для 'A'? –
Полный код очень длинный, я пробовал отправлять только соответствующие структуры, извините, если это сбивает с толку. Конструктор для A в теории дает значение для «a», это значение, которое я хочу иметь доступ в B.cpp – user1981855
Я вижу, я только немного его исправил. Надеюсь, теперь это имеет смысл. – user1981855