类 中下的一些碎片知识点

判断下面两个函数是否能同时存在
void Print();
void Pirnt() const

答:能同时存在,因为构成函数重载(注意函数的返回值不同是不能构成函数重载的)。

const 对象能调用 非const 成员函数吗

答:不能,因为权限被放大了,(权限只能平移或缩小)
非const 对象 可以调用const成员函数吗?

答:可以,因为权限是可以缩小的
const成员函数内可以调用其他非const成员函数吗?

答:不能。因为权限被放大了
非const成员函数内可以调用其他的const成员函数吗?

答:可以,权限缩小了

问?如果我不是类里的成员函数 但是我想访问内里的成员变量 那该咋办?

这个时候我们就要用到:友元声明

看例子:

c 复制代码
class Date
{
  public:
   friend void operator<<(ostream& out, const Date& d);
  

   private:
   ...................
};

friend + 函数的声明

就像:
friend void operator<<(ostream& out, const Date& d);
友元函数的位置是不影响的,在pubilcprivate 都行,

相关推荐
hefaxiang3 小时前
【C++】函数重载
开发语言·c++·算法
花生树什么树3 小时前
下载Visual Studio Community 2019
c++·visual studio·vs2019·community
exp_add34 小时前
Codeforces Round 1000 (Div. 2) A-C
c++·算法
练小杰4 小时前
Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
linux·c语言·c++·经验分享·qt·学习·编辑器
勤又氪猿4 小时前
【问题】Qt c++ 界面 lineEdit、comboBox、tableWidget.... SIGSEGV错误
开发语言·c++·qt
Ciderw4 小时前
Go中的三种锁
开发语言·c++·后端·golang·互斥锁·
人才程序员6 小时前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
OKkankan6 小时前
实现二叉树_堆
c语言·数据结构·c++·算法
Ciderw7 小时前
MySQL为什么使用B+树?B+树和B树的区别
c++·后端·b树·mysql·面试·golang·b+树
yerennuo7 小时前
windows第七章 MFC类CWinApp介绍
c++·windows·mfc