c++ - c++ 上的向量作为类的成员
问题描述
我有一个问题,其中, ,getUserOpinionVector()
无法getAppConstructorVector()
访问,属性。setUserOpinionVector()
setAppConstructorVector()
UserOpinionVector
AppConstructorVector
有什么建议吗?
我在下面粘贴了我的代码。
注意:为简单起见,跳过了构造函数和一些属性和方法。
c++ 上的 .h 文件:
#ifndef APPLICATION_H
#define APPLICATION_H
#include "ApplicationConstructor.h"
#include <vector>
using namespace std;
class Application{
private:
ApplicationConstructor &AppConstructor;
UserOpinion *UserView;
public:
Application(char *, string, string, ApplicationConstructor &, UserOpinion &, float); // Application's Constructor
Application(const Application &); // Copy Constructor
vector<ApplicationConstructor &> getAppConstructorVector(); // Get the Application Constructor Vector
vector<UserOpinion *> getUserOpinionVector(); // Get the User Opinion Vector
void setAppConstructorVector(vector<ApplicationConstructor &>); // Set the Application Constructor Vector
void setUserOpinionVector(vector<UserOpinion *>); // Set the User Opinion Vector
virtual ~Application(); // Destructor
protected:
vector<ApplicationConstructor &> AppConstructorVector; // Vector with Application Constructor Objects
vector<UserOpinion *> UserOpinionVector; // Vector pointers to with User Opinion Objects
};
#endif /* APPLICATION_H */
.cpp 文件:
#include <iostream>
#include "Application.h"
//Constructor
Application::Application(char *applicationCode, string applicationName, float applicationVersion,
ApplicationConstructor &appConstructor , UserOpinion *userComment, float price ):AppConstructor(appConstructor){
if ((this->AppConstructor != NULL) && (this->UserView != NULL ))
{
this->addToAppConstructorVector(this->AppConstructor);
this->addToUserOpinionVector(this->UserView);
}
}
// Set the Application Constructor Vector
void setAppConstructorVector(vector<ApplicationConstructor &> appConstructorVector){
this->AppConstructorVector = appConstructorVector;
}
// Set the User Opinion Vector
void setUserOpinionVector(vector<UserOpinion *> userOpinionVector){
this->UserOpinionVector = userOpinionVector;
}
// Get the Application Constructor Vector
vector<ApplicationConstructor &> getAppConstructorVector(){
return this->AppConstructorVector;
}
// Get the User Opinion Vector
vector<UserOpinion *> getUserOpinionVector(){
return this->UserOpinionVector;
}
解决方案
这些函数应该被定义为类的成员函数Application
。
这意味着您应该Application::
在每个函数名称之前添加如下:
// Set the Application Constructor Vector
void Application::setAppConstructorVector(vector<ApplicationConstructor &> appConstructorVector){
this->AppConstructorVector = appConstructorVector;
}
// Set the User Opinion Vector
void Application::setUserOpinionVector(vector<UserOpinion *> userOpinionVector){
this->UserOpinionVector = userOpinionVector;
}
// Get the Application Constructor Vector
vector<ApplicationConstructor &> Application::getAppConstructorVector(){
return this->AppConstructorVector;
}
// Get the User Opinion Vector
vector<UserOpinion *> Application::getUserOpinionVector(){
return this->UserOpinionVector;
}
推荐阅读
- r - R包text2vec--tokenize到序列
- python - 从文件在python中实现图形
- netcdf - 使用 xarray 创建 netCDF 文件,定义可变数据类型
- javascript - 在 JavaScript 中打印 cookie
- c# - WPF 简单图库
- reactjs - 使用钩子时 Jest/Enzyme 测试抛出错误
- html - 需要 Google 表单上的简单 HTML
- dialogflow-es - 对话流触发 Web 实现的回退
- java - 如何在foreach循环java中返回具有特定字段(函数?)最小值的对象
- ignite - 在客户端节点上对消息使用 localListen 时,哪个线程池用于执行?