首页 > 试题广场 >

关于C++中的友元函数说法正确的是( )

[不定项选择题]
关于C++中的友元函数说法正确的是(      )
  • 友元函数需要通过对象或指针调用
  • 友元函数是不能被继承的
  • 友元函数没有this指针
  • 友元函数破环了继承性机制

友元函数

1.友元只是破坏了类的隐藏性封装性,不能被继,没有this指针。
2.可以直接调用,不需要通过对象或者指针。

发表于 2021-04-22 17:13:21 回复(0)

友元只是破坏了类的隐藏性和封装性,可以直接调用,不需要通过对象或者指针

发表于 2020-08-18 01:25:51 回复(0)
友元不能被继承,这不算破坏类的继承结构?
发表于 2020-12-20 11:46:36 回复(5)
            #include <climits>
            #include <iostream>
            #include <vector>
            #include <limits.h>
            using namespace std;

            class A
            {
                friend void fun(A & a);

                public:
                        void setvalue(int value)
                        {
                            _a = value;
                        }
                private:
                        int _a;
            };

            void fun(A & a)
            {//友元函数
                cout<<" this is fun() a ="<<a._a<<endl;
            }

            int main()
            {
                A a;
                a.setvalue(10);
                
                fun(a);    //友元函数可以直接被调用,不需要对象和指针,上述说法错误

                return 0;
            }

A选项  在mian函数中可以直接调用fun(),我想大概是这个意思,所以A是错误的
编辑于 2022-12-23 21:29:52 回复(0)
一个类的成员函数可以作为另一个类的友元,这个友元是属于类的啊,为啥没有this指针
发表于 2022-12-20 19:57:33 回复(0)
友元函数可以直接被调用,友元函数不能被继承,友元函数没有this指针,
发表于 2021-05-26 19:44:27 回复(0)
友元类没有This指针,不需要传入对象调用?
发表于 2021-04-02 17:29:34 回复(0)