鍍金池/ 問答/C++/ 設(shè)計類的時候遇到的問題,如何使用定義在后面的類?

設(shè)計類的時候遇到的問題,如何使用定義在后面的類?


class class1
{
public:
    friend void Print(class1 &a, class2 &b);
};

class class2
{
public:
    friend void Print(class1 &a, class2 &b);
};

上面就是問題,我有一個函數(shù),參數(shù)中有兩個類的對象,而且想同時訪問這兩個對象的私有成員,于是我將函數(shù)聲明為這兩個類的友元函數(shù),但是編譯器提示我:
語法錯誤: 標(biāo)識符“class2”
我發(fā)現(xiàn)是因為class2是定義在后面的,所以前面的class2不可見,現(xiàn)在該怎么辦?你們平常編程中怎么處理這個問題的?

回答
編輯回答
陌南塵

在最前面全部聲明一下就行。

class class1;
class class2;

class class1
{
public:
    friend void Print(class1 &a, class2 &b);
};

class class2
{
public:
    friend void Print(class1 &a, class2 &b);
};
2017年12月10日 05:20