Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我们怎样才能有朋友宣言;朋友阐述了班级名称&引用;例如c++;?_C++_Declaration_Keyword_Friend - Fatal编程技术网

C++ 我们怎样才能有朋友宣言;朋友阐述了班级名称&引用;例如c++;?

C++ 我们怎样才能有朋友宣言;朋友阐述了班级名称&引用;例如c++;?,c++,declaration,keyword,friend,C++,Declaration,Keyword,Friend,我对这个班的名字感到困惑。如能以我为例,我将不胜感激。 语法:类名称 详细说明的类名仅表示类(或结构)关键字+类的实际名称 像这样使用它: friend class Klass; 从n4140开始: [class.friend]/3: 未声明函数的友元声明应具有以下形式之一: 类型说明符 简单类型说明符 友元类型名说明符 然后你有一个例子: class C; typedef C Ct; class X1 { friend C; // OK: class C is a friend }; c

我对这个班的名字感到困惑。如能以我为例,我将不胜感激。
语法:类名称

详细说明的类名仅表示
(或
结构
)关键字+类的实际名称

像这样使用它:

friend class Klass;
从n4140开始:

[class.friend]/3:

未声明函数的友元声明应具有以下形式之一:
类型说明符
简单类型说明符
友元类型名说明符

然后你有一个例子:

class C;
typedef C Ct;
class X1 {
  friend C; // OK: class C is a friend
};
class X2 {
  friend Ct; // OK: class C is a friend
  friend D; // error: no type-name D in scope
  friend class D; // OK: elaborated-type-specifier declares new class
};

所以:
D类朋友
是详细的类型说明符的一个示例。而
friend
不是,被称为简单类型说明符-这是自C++11以来新出现的

#include <iostream>

namespace usr
{
    int B = 20;

    class A
    {
    public:
        A( int x = 0 ) : x( x ) {}
        friend class B;  // using of elaborated type specifier
    private:
        int x;
    };

    class B
    {
    public:        
        std::ostream & out( const A &a, std::ostream &os = std::cout ) const
        {
            return os << a.x;
        }
    };
}

int main()
{
    class usr::B b;  // using of elaborated type specifier
    b.out( usr::A( 10 ) ) << ' ' << usr::B << std::endl;    
}    

你的问题毫无意义。为什么不给我们一个小的代码示例来使用呢?从这里改编,指定由详细的类名命名的类、结构或联合作为这个类的朋友。这意味着朋友的成员声明和定义可以访问这个类的私有和受保护成员……我只需要C++的例子。你想让我们写一个例子,说明如何使用<代码>朋友< /Cord>关键字??你需要做些调查。这不是一个教程网站。
10 20