【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);
相关推荐
草莓熊Lotso4 分钟前
【Linux网络】深入理解 HTTP 协议(一):从基础概念到 URL 编码解码
linux·网络·c++·网络协议·http·软件工程
眠りたいです4 分钟前
现代C++:C++17中的新语言特性
开发语言·c++·c++17
一只旭宝6 分钟前
【C++入门精讲17】序列容器
开发语言·c++
Demon1_Coder6 分钟前
Day1-SpringAI-1.0.0版本
java·开发语言·前端
郝学胜-神的一滴13 分钟前
Qt 高级开发 021:零基础吃透 QVBoxLayout 垂直布局
开发语言·c++·qt·程序人生·用户界面
basketball61615 分钟前
C++进阶:2. std::move 和 std::forward 函数
java·开发语言·c++
_oP_i16 分钟前
105、word 出现 {TOCO“1-2“HZ}
开发语言·c#·word
玖釉-16 分钟前
LeetCode Hot 100 知识点总结与算法指南
c++·windows·算法·leetcode
yong999018 分钟前
基于MATLAB的雷达数字信号处理
开发语言·matlab·信号处理