尝试通过c ++中的OOP正确理解关键字朋友,编码问题

时间:2016-08-15 15:47:37

标签: c++ friend

好的,所以这是我的问题,我试图在我的电脑上用一个工作示例来理解C ++中朋友的使用,以供参考。我把所有东西都设置在不同的类中,它们用.h文件等相互连接(我想不管怎么说)。有人能告诉我哪里出错了吗?因为我不断收到编译器错误,我不明白这意味着什么。

是的我在网上研究过C:xxxx错误,但是我无法将问题与我得到的代码联系起来......这显然是错误的!只需要朝着正确的方向推进/更好地理解C ++ ......谢谢!

//First class

#include <iostream>
#include <string>
using namespace std;

class Tutorial48
{
private:
    int var;
    int secret = 5;
public:
    Tutorial48(int v);
    friend class Tutorial48UseFriend;
    void PrintVar();
};
// First class .cpp
#include "Tutorial48.h"

Tutorial48::Tutorial48(int v)
{
   var = v;
}

void Tutorial48::PrintVar()
{
   cout << var << endl;
   cout << "Scret variable = " << secret << endl;
}
// Second class, whole point is to demo the friend keyword in C++!
#include "Tutorial48.h"
#include <iostream>
#include <string>
using namespace std;
class Tutorial48UseFriend
{
public:
   Tutorial48UseFriend();
   void showSecret(Tutorial48 tut48F)
   {
      // Just trying to increment by 1 so i know it's worked correctly. 
      tut48F.secret++;
      cout << "My new private variabe = " << tut48F.secret << endl;
   };
};
// Main function for outputting the whole thing. 
#include "Tutorial48.h"
#include "Tutorial48UseFriend.h"
#include <string>
#include <iostream>
int main
{
    Tutorial48UseFriend fr;
    Tutorial48 t(24);

    fr.showSecret(t);


    getchar();
    return 0;
}

正在制作错误....

Errors

是的,所以这就是一切......正如我所说,我是新手,所以试图理解它。感谢任何人提前帮助,欢呼你们。

P.S。我有点理解c ++中的朋友的概念如何用来访问其他类的私有变量等但我不知道如何正确编码...

0 个答案:

没有答案