【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);
相关推荐
idealzouhu5 小时前
现代 CMake 依赖管理详解:从构建树、Target 封装到 find_package 工作原理
c++·cmake
aramae6 小时前
Python 使用库:标准库与第三方库实战
服务器·开发语言·windows·python
景熙55236 小时前
14.Java 集合框架从入门到源码万字详解(含 ArrayList/LinkedList/HashMap 源码、泛型通配符、红黑树)
java·开发语言·数据结构·算法
四代水门6 小时前
游戏客户端——算法题
c++
Xia__Quan6 小时前
centos 共享文件夹
c++
hi_ro_a7 小时前
基于正倒排索引的boost搜索引擎
linux·c++·搜索引擎·项目
神仙别闹7 小时前
基于 C++ MFC 实现的个人通讯录管理系统
c++
GG-_-Bond7 小时前
9.1kv存储持久化模拟面试
linux·c语言·数据结构·c++
Ivanqhz8 小时前
Unigram 算法
开发语言·人工智能·python·深度学习·mlir
Jazz_z8 小时前
如何用 C# 读取 Word 中的表格数据
开发语言·c#