【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);
相关推荐
CVer儿1 分钟前
起源引擎harmmer++ 配置
开发语言
星夜离尘565 分钟前
MATLAB FFT 单边幅度谱:归一化、奇偶长度与频谱泄漏的完整实验
开发语言·matlab·信号处理·频谱分析·fft
fpcc6 分钟前
c++20新功能—std::osyncstream
c++·c++20
H.莓飛6 分钟前
【C++】模板初阶
linux·开发语言·c++·visual studio
十五年专注C++开发8 分钟前
基于Asio2实现http服务器的实践总结(二)
服务器·c++·http·asio2
Wang's Blog11 分钟前
Java 项目实战: 交友项目 - 项目模块划分与依赖关系
java·开发语言·交友
技术不好的崎鸣同学12 分钟前
第七章:模块踩踏以覆写导出函数绕过CFG
c++·windows·安全·系统安全
努力进修12 分钟前
时序数据长期承载难题:从压缩、批量写入到数据组织优化
java·开发语言·数据库
miofly13 分钟前
GitHub 今日推荐|ps2-web-recomp:浏览器里跑 PS2 游戏的静态重编译方案
c++·开源·github
星夜离尘5613 分钟前
MATLAB 5 点滑动平均:filter 与 conv 的输出对齐,以及 2 样本延时的含义
开发语言·算法·matlab·滤波·fir