【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);
相关推荐
redaijufeng2 分钟前
C/C++程序从编译到链接的过程
c语言·开发语言·c++
木子墨5166 分钟前
系统设计面试 | 实现一个限流器:滑动窗口 → 令牌桶 → 漏桶
java·开发语言·数据结构·数据库·面试·职场和发展
点云学徒7 分钟前
【PCL中Ptr释放问题 aligned_free 的2种解决方法】
c++·pcl·点云处理
草莓熊Lotso10 分钟前
【CMake】 工程实战:可执行文件从编译、链接到安装全流程深度拆解
linux·运维·服务器·网络·c++·cmake
Byte Wizard33 分钟前
C语言指针深入浅出6
c语言·开发语言
王老师青少年编程34 分钟前
2026年全国青少年信息素养大赛算法应用主题赛(C++赛项-初赛-赛前冲刺模拟卷1:文末附答案和解析)
c++·全国青少年信息素养大赛·答案·初赛·模拟卷·2026年·算法应用主题赛
alwaysrun36 分钟前
C++之轻量级JSON序列库jsoncpp
c++·json·编程语言
知识分享小能手38 分钟前
R语言入门学习教程,从入门到精通,R语言数据处理与清洗 (9)
开发语言·学习·r语言
咩咦43 分钟前
C++学习笔记09:内联函数 inline
c++·学习笔记·inline·内联函数·宏函数
计算机安禾1 小时前
【c++面向对象编程】第19篇:多继承与菱形继承(二):虚拟继承的内存模型与复杂性
开发语言·c++