【发布时间】:2019-04-18 02:15:21
【问题描述】:
我已获得此代码,但我无法以任何方式编辑公众,并且不允许调用除指定库之外的任何其他库。
Class example
{
private:
vector<int> vector_1;
void function_1(string name)
{
"code for function one goes here"
}
public:
void function_1(string name);
};
有没有办法将 function_1 映射到私有方法?所以在 main 中:方法调用的行为就像它是公开的,但它是私有的(考虑到约束)
-edit:我已经阅读了规则并进行了一些研究,但是找不到我正在寻找的真正答案。这是代码示例:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class MapFunction
{
private:
string responce;
string input;
vector<int> templist;
public:
void AskForInput();
void Output(string input)
};
int main(void) {
MapFunction a;
return 0;
}
我的解决方案的限制是我不允许更改类的公共部分或将代码放入 main.xml 中。通常我会通过创建这样的方法在类内部创建方法
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class MapFunction
{
private:
string responce;
string input;
vector<int> templist;
public:
void AskForInput(void);
void Output(void);
};
void MapFunction::AskForInput() {
cin >> input;
};
void MapFunction::Output() {
cout << input;
};
int main(void) {
MapFunction a;
a.AskForInput();
a.Output();
return 0;
}
但是我想知道是否可以将方法放在私有内部并允许 main 访问它们而不改变它在公共中调用的方式
【问题讨论】:
-
我投票决定将此问题作为题外话结束,因为要求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作摘要,以及对困难的描述你正在解决它。
标签: c++ private-methods public-method