【C++二级】题一:构造函数

1、常量数据成员的初始化只能通过构造函数的成员初始化列表进行,并且要用关键字const修饰

复制代码
#include <iostream>
using namespace std;
class MyClass {
  int _i;
  friend void Increment(MyClass& f);
public:
  const int NUM;
// ERROR  ********found********
  MyClass(int i = 0):NUM{0}{
    _i = i;
  }
  int GetValue() const { return _i; }
};

2.友元函数的定义要与函数的声明相呼应,即返回值、参数类型、参数个数要一致。友元函数的调用不需要使用类名和作用域

复制代码
void Increment(MyClass& f) { f._i++; }

3.友元函数的调用不需要类名和作用域

复制代码
  Increment(obj);
相关推荐
SiYuanFeng40 分钟前
【问题未解决-寻求帮助】VS Code 中使用 Conda 环境,运行 Python 后 PowerShell 终端输出内容立即消失
开发语言·python·conda
你好!蒋韦杰-(烟雨平生)43 分钟前
扫雷游戏C++
c++·单片机·游戏
我是ed.1 小时前
cocos Js 使用 webview 通过 postMessage 进行通信
开发语言·javascript·ecmascript
段ヤシ.1 小时前
Windows环境下安装Python和PyCharm
开发语言·python·pycharm
大萌神Nagato1 小时前
如何修改VM虚拟机中的ip
linux·开发语言·ip·虚拟机·静态ip
monicaaaaan1 小时前
搜索二维矩阵Ⅱ C++
c++·线性代数·矩阵
hweiyu001 小时前
Scala实用编程(附电子书资料)
开发语言·后端·scala
mftang2 小时前
C 标准库 <time.h> 函数详解
c语言·开发语言
lly2024062 小时前
SVG 在线编辑器
开发语言
脑袋大大的2 小时前
uni-app x开发避坑指南:拯救被卡顿的UI线程!
开发语言·前端·javascript·vue.js·ui·uni-app·uts