【发布时间】:2014-03-07 03:01:28
【问题描述】:
我正在尝试更好地了解在 C++ 中使用数组。我正在使用面向对象的方法来执行此操作,所以我确实有一堂课。我在一个函数中接受用户输入到字符串数组中,并尝试在另一个函数中打印输出。我在打印或传递输出时遇到了一些困难。如何将字符串数组作为参数传递给另一个函数?我知道 C++ 使用指针和地址。在调试程序时,我看到只有数组地址被传递给打印函数。如何获取要传递给输出函数的实际数组值?我的三个文件在下面...
我的主要...
#include <iostream>
#include "ElectionResults.h"
#include <string>
using namespace std;
void main()
{
string candidates[5];
ElectionResults election;
election.enterElectionData();
election.displayElecionData(candidates);
cin.ignore();
cin.ignore();
}
我的 CPP 文件...
#include "ElectionResults.h"
#include <iostream>
using namespace std;
ElectionResults::ElectionResults(void)
{
}
void ElectionResults::enterElectionData(void)
{
for (int i = 0; i < 5; i++)
{
cout << "Candidiate number " << i + 1 << ": ";
cin >> candidates[i];
}
cout << endl;
}
void ElectionResults::displayElecionData(string candidates[5])
{
for (int i = 0; i < 5; i++)
{
cout << "Candidate name " << i + 1 << ": " << candidates[i] << endl;
}
cout << endl;
}
ElectionResults::~ElectionResults(void)
{
}
我的头文件...
#ifndef ELECTIONRESULTS_H
#define ELECTIONRESULTS_H
#include <string>
using namespace std;
class ElectionResults
{
private:
string candidates[5];
public:
void enterElectionData();
void displayElecionData(string candidates[5]);
ElectionResults(void);
~ElectionResults(void);
};
#endif
谢谢
【问题讨论】:
-
你不能将数组传递给函数。
-
@user3286380 这不是真的
-
@smani 它是真的。数组作为参数传递时会衰减为指针。您可以将指针和引用传递给数组,但不能传递数组本身。
-
@smani:100% 正确。
-
哦,对了,我误解了 user3286380 想说什么。对此感到抱歉。
标签: c++ arrays class oop parameters