【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);
相关推荐
德福危险10 小时前
从目录枚举到bash破壳漏洞、从流量抓包到组权限提权:靶机练习之symfonos3
开发语言·bash
meng半颗糖10 小时前
3.Java流程控制语句
java·开发语言·intellij-idea
影寂ldy10 小时前
C# WinForm 三种自定义控件 + 完全自定义重绘控件知识点
开发语言·c#
学逆向的10 小时前
汇编——寻址方式
开发语言·汇编·网络安全
大模型码小白10 小时前
企业级检索增强后端集成:Java 服务如何管理知识库版本
java·服务器·开发语言·人工智能·python·microsoft
-银雾鸢尾-10 小时前
C#中的Dictionary相关方法
开发语言·c#
农村小镇哥10 小时前
Python3开发快速获取图片的文字
开发语言·python
我不是懒洋洋10 小时前
从零实现一个分布式日志平台:ELK的核心设计
c++
geovindu11 小时前
go:Backtracking Algorithm
开发语言·后端·算法·golang·回溯算法
神仙别闹11 小时前
基于QT(C++)实现Windows 自启动项查看和分析
c++·windows·qt