【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);
相关推荐
装杯让你飞起来啊11 小时前
Kotlin 条件判断 if / when 与智能转换 smart cast
开发语言·python·kotlin
云深处@11 小时前
【项目一】高并发内存池
java·开发语言
阿里嘎多学长11 小时前
2026-05-04 GitHub 热点项目精选
开发语言·程序员·github·代码托管
山峰哥11 小时前
SQL性能提升20倍的秘密:这些优化技巧让DBA都惊叹
开发语言·数据库·sql·编辑器·深度优先·宽度优先
2zcode11 小时前
基于MATLAB的家用场景下扫地机器人路径规划研究设计
开发语言·matlab·机器人
书源丶11 小时前
三十九、Java 枚举——固定常量的「安全卫士」
java·开发语言
上弦月-编程11 小时前
高效编程利器:转移表技术解析
c语言·开发语言·数据结构·算法·排序算法
逻辑驱动的ken12 小时前
Java高频面试考点场景题23
java·开发语言·数据库·面试·职场和发展·哈希算法
xxjj998a12 小时前
PHP vs Java:核心区别与应用场景全解析
java·开发语言·php
2301_7890156212 小时前
Linux基础指令(一)
linux·运维·服务器·c语言·开发语言·c++·linux指令