【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);
相关推荐
fengfuyao98514 小时前
基于MATLAB/Simulink的车辆自适应巡航控制(ACC)实现
开发语言·matlab
海盗123414 小时前
WPF上位机组件开发-设备状态运行图基础版
开发语言·c#·wpf
看我干嘛!14 小时前
python第四次作业
开发语言·python
Coder_preston14 小时前
Java集合框架详解
java·开发语言
多多*14 小时前
2026年最新 测试开发工程师相关 Linux相关知识点
java·开发语言·javascript·算法·spring·java-ee·maven
Laurence14 小时前
从零到一构建 C++ 项目(IDE / 命令行双轨实现)
前端·c++·ide
我在人间贩卖青春14 小时前
cout语句和cin语句
c++·cin·输入输出流·cout
Jiu-yuan14 小时前
C++文件操作
c++
2301_7634725815 小时前
实时系统下的C++编程
开发语言·c++·算法
阿猿收手吧!15 小时前
【C++】深入理解C++ Atomic内存序:解决什么问题?怎么用?
开发语言·c++