友元函数基本用法

ioupa 2018-09-19 12:50:09
#include <iostream>
using namespace std;


class A
{
public:
A(int x=0){
this->x = x;
}
void Print_Val(){
cout<<"val:"<<x<<endl;
}
friend void Test(A &obj); //声明 Test 为 class A的朋友
private:
int x;

};

//友元函数
void Test(A &obj)
{
cout<<obj.x<<endl;
}

int main(void)
{
A a1(34);

Test(a1);




}
...全文
269 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
沐雨青城 2018-09-20
  • 打赏
  • 举报
回复
楼主的代码,友元函数使用没啥问题,一般友元用操作符重载上面,楼主有空看看这部分吧,以后用的机会会比较多。
棉猴 2018-09-20
  • 打赏
  • 举报
回复
你的代码没有大的错误,只是需要在main()函数的最后添加
return 0;

输出是34。
关于友元,请参考《C++中友元及继承》
希望能够帮到你
ioupa 2018-09-20
  • 打赏
  • 举报
回复
引用 2 楼 涵先森的博客园的回复:
不知道你要问什么
意思发帖子是问问题的?我是一只菜猿!
ioupa 2018-09-20
  • 打赏
  • 举报
回复
引用 1 楼 幻夢之葉的回复:
莫名其妙
有什么问题?啥叫莫名其妙?
斜光的博客园 2018-09-19
  • 打赏
  • 举报
回复
不知道你要问什么
幻夢之葉 2018-09-19
  • 打赏
  • 举报
回复
莫名其妙
关于类的下列描述中,错误的是( )。
类是一组对象的模板
类是抽象数据的实现
类是数据和方法的封装体
类是对象的实例
~D
关于对象的下列描述中,错误的是( )。
对象是一种类型
对象是类的一个实例
对象是客观世界中的一种实体
对象之间是通过消息进行通信的
~A
下列关于继承的描述中,正确的是( )。
继承不是类之间的一种关系
C++语言仅支持单一继承
继承会增加程序的冗余性
继承是面向对象方法中一个很重要的特性
~D
关于类的定义的描述中错误的是( )。
类的定义格式分为说明部分和实现部分
类中一般包含有成员函数和数据成员
类中成员有3种访问权限
成员函数都是公有的,数据成员都是私有的
~D
关于类中成员函数的描述中,错误的是( )。
类中可以说明一个或多个成员函数
类中的成员函数只能定义在类体外
定义在类体外的成员函数前加inline可成为内联函数
在类体外定义成员函数时,需用类名和作用域运算符加以限定
~B
下列关于成员函数的特性描述中,错误的是( )。
成员函数可以重载
成员函数都是内联函数
成员函数可以设置参数的默认值
成员函数可以是公有的,也可以是私有的
~B
关于友元函数的描述中,错误的是( )。
友元函数不是成员函数
友元函数只能访问类中私有成员
友元函数破坏隐蔽性,尽量少用
友元函数说明在类体内,使用关键字friend
~B
下列关于派生类的描述中,错误的是( )。
派生类至少应有一个基类

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧