【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);
相关推荐
深邃-4 分钟前
字符函数和字符串函数(1)
c语言·开发语言·数据结构·c++·算法·html5
初中就开始混世的大魔王4 分钟前
3.1 DDS 层-Core
开发语言·c++·网络协议·tcp/ip·信息与通信
我真不是小鱼5 分钟前
cpp刷题打卡记录24——路径总和 & 路径总和II
数据结构·c++·算法·leetcode
nianniannnn11 分钟前
力扣 347. 前 K 个高频元素
c++·算法·leetcode
曹牧14 分钟前
JDK 1.6 ,无法通过安全套接字层(SSL/TLS)加密建立数据库安全连接
java·开发语言·ssl
漫随流水14 分钟前
c++编程:求阶乘和
数据结构·c++·算法
再卷也是菜16 分钟前
算法基础篇(13)单调栈
数据结构·c++
云栖梦泽29 分钟前
Linux内核与驱动:2.驱动基础(编译驱动)
linux·服务器·c++
电商API_1800790524730 分钟前
API分享:获取淘宝商品价格|详情|主图|sku信息
开发语言·c++·人工智能·数据分析
一定要AK34 分钟前
java基础
java·开发语言·笔记