栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ primer plus简答题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ primer plus简答题

文章目录
  • 11.8
    • 2.友元函数与成员函数的区别是什么?
    • 3. 非成员函数必须是友元才能访问类成员吗?
    • 5. 哪些运算符不能重载
    • 6. 在重载= , () , [] , -> 时,有什么限制

11.8 2.友元函数与成员函数的区别是什么?

成员函数是类定义的一部分,由类生成的所有对象均会共享一组类的成员函数。成员函数能够访问类内的所有数据成员
友元函数是一个拥有特殊访问权限的非成员函数,可以访问类内的私有成员,但是并不能隐式的访问,必须通过成员运算符的方式来访问类对象的数据成员。

3. 非成员函数必须是友元才能访问类成员吗?

不正确
从访问控制方式上说,非成员函数可以直接通过类对象访问公有的数据接口,但是不能访问私有的数据接口。
通过友元函数,可以和类的成员函数一样直接访问类内的所有数据成员和函数,包括私有的数据成员和函数。
因此友元的访问权限更大,一般的非成员函数只能访问类提供的公有数据接口。

5. 哪些运算符不能重载

sizeof运算符
.成员运算符
.*成员指针运算符
:: 作用域解析运算符
?: 条件运算符
typeid 一个RTTI运算符
const_cast 强制类型转换运算符
dynamic_cast 强制类型转换运算符
reintepret_cast 强制类型转换运算符
static_cast强制类型转换运算符

6. 在重载= , () , [] , -> 时,有什么限制

运算符重载的基本四条限制

  1. 重载运算符至少有一个参数是用户自定义的类型
  2. 使用的运算符不能违反该运算符本身的语法规则
  3. 不能创建新的运算符
  4. 部分运算符不能重载

特殊:大多数运算符可以通过成员函数或非成员(友元)函数进行重载,但上述的几个只能通过成员函数进行重载,不能通过友元函数进行重载

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/934471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号