1
我有一個非常基本的類與成員函數和私人數據,但我希望打印功能不成爲類成員函數的一部分。我將它從類中移除並將其聲明爲朋友,它在直接從main.cpp中調用時起作用,但是當類成員函數在內部調用它時,它不會被聲明。我知道,作爲一個朋友可以訪問數據,但是如何使其可用於成員函數呢?可能嗎?調用類友功能的類成員函數(全部同一類)可能嗎?
//HEADER FILE
#include<iostream>
using namespace std;
static const int ArrSize=3;
class TicTacToe
{
//friends
friend void printBoard(char [][ArrSize]);
//member functions
public:
void makeboard();
void isValidMove();
void isWinner();
void getMove();
//data members
private:
int pRow, pCol, player;
bool validMove, winner;
char TTTarray[ArrSize][ArrSize];
};
void TicTacToe::getMove()
{
// some internal code for determining if proper input
// calls printBoard() to show what move was made.
printBoard(0);
void printBoard(char TTTarray[][ArrSize])
{
int i;
for(i=0;i<3;i++)
{
cout << TTTarray[i][0] << " " << TTTarray[i][0] << " " << TTTarray[i][2] << endl;
}
}
// MAIN.CPP FILE
#include <iostream>
#include "TicTacToe.h"
using namespace std;
int main()
{
TicTacToe a;
a.makeBoard();
printBoard(0);
a.getMove();
return 0;
}
絕對需要在這裏看到一些代碼。 – 2014-10-10 01:40:26
它沒有被宣佈。你忘了包含打印聲明的頭文件嗎? – 2014-10-10 01:51:29
德米特里 - 感謝您的迴應。不知道我是否知道你的意思。 – Jesse 2014-10-10 03:06:52