【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);
相关推荐
词元Max6 分钟前
2.5 Python 类型注解与运行时类型检查
开发语言·python
HABuo17 分钟前
【linux线程(二)】线程互斥、线程同步、条件变量详细剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
Rabitebla19 分钟前
归并排序(MergeSort)完全指南 —— 从原理到非递归实现
c语言·数据结构·c++·算法·排序算法
墨^O^21 分钟前
进程与线程的核心区别及 Linux 启动全过程解析
linux·c++·笔记·学习
福楠21 分钟前
现代C++ | C++14甜点特性
linux·c语言·开发语言·c++
WBluuue22 分钟前
Codeforces Educational 188(ABCDEF)
c++·算法
charlie11451419124 分钟前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(4)从零构建 STM32 构建系统
linux·开发语言·c++·stm32·单片机·学习·嵌入式
钰fly27 分钟前
Halcon联合编程适应图像的方法(picture)
开发语言·前端·javascript
束尘29 分钟前
Vue3一键复制图片到剪贴板
开发语言·javascript·vue.js
老王熬夜敲代码35 分钟前
LangGraph的状态
开发语言·langchain