C++ C++;在另一个headerfile和cpp中访问我的向量
如何从aHisto.h访问aDie.h中声明的向量,最好不要作为函数?一旦我的向量出现在Histo.h中,我希望能够修改它,改变大小,然后按照我的选择操作它。我只是在VS中遇到错误消息的问题 艾迪·hC++ C++;在另一个headerfile和cpp中访问我的向量,c++,class,vector,header,C++,Class,Vector,Header,如何从aHisto.h访问aDie.h中声明的向量,最好不要作为函数?一旦我的向量出现在Histo.h中,我希望能够修改它,改变大小,然后按照我的选择操作它。我只是在VS中遇到错误消息的问题 艾迪·h #define aDie_H #pragma once #include <vector> #include <iostream> class aDie { public: aDie();
#define aDie_H
#pragma once
#include <vector>
#include <iostream>
class aDie {
public:
aDie();
void numRolls();
void getSeed();
void roll();
void myVector(); //just gives my vector values
void Print();
std::vector<int> myV; //declare my vector, it has values stored from void myVector();
private:
int i = 0;
int Rolls;
int dSeed;
int die1;
int die2;
int sum;
};
aHisto.cpp
#include "aHistogram.h"
#include "aDie.h"
#include <iostream>
#include <vector>
using namespace std;
aHistogram::aHistogram() { //default constructor
min = 0;
max = 0;
}
void aHistogram::getVector() {
//does stuff with vector here
}
#包括“aHistogram.h”
#包括“aDie.h”
#包括
#包括
使用名称空间std;
aHistogram::aHistogram(){//默认构造函数
最小值=0;
max=0;
}
void aHistogram::getVector(){
//这里有向量吗
}
使用范围解析运算符,因为aHistogram
继承自aDie
或者,由于继承访问级别的原因,您可以使用此
void aHistogram::getVector() {
aDie::myV->something();
//Or use this pointer
this->myV->something();
}
您可以使用aDie::myV访问它,到底是什么问题?你试了什么?为什么它对您不起作用?每个继承类都有自己的父类变量副本,因此您应该能够使用
this->myV
或甚至只使用myV
@callyal访问它。这样做之后,实际上可以让我调试,但如果我不能,您如何调用myVector()
等等?您的main
和其他相关方法是什么样子的?
void aHistogram::getVector() {
aDie::myV->something();
//Or use this pointer
this->myV->something();
}