【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);
相关推荐
XiaoCCCcCCccCcccC3 分钟前
多路复用 select -- select 的介绍,select 的优缺点,select 版本的 TCP 回显服务器
服务器·c++
XiaoCCCcCCccCcccC5 分钟前
多路复用 poll -- poll 的介绍,poll 的优缺点,poll 版本的 TCP 回显服务器
服务器·网络·c++
JienDa7 分钟前
JienDa聊PHP:算命平台实战中主流PHP框架的协同架构方略
开发语言·架构·php
爱写代码的小朋友25 分钟前
21天学通Python全栈开发实战指南
开发语言·python
苦荞米26 分钟前
异步方法-C#中坑最大最深的功能
开发语言·c#
软件测试曦曦29 分钟前
使用Python接口自动化测试post请求和get请求,获取请求返回值
开发语言·自动化测试·软件测试·python·功能测试·程序人生·职场和发展
p***s911 小时前
Windows安装Rust环境(详细教程)
开发语言·windows·rust
卡比巴拉—林1 小时前
Python print()函数详讲
开发语言·python
小π军1 小时前
STL利器:upper_bound与lower_bound的使用
c++
奶思图米球1 小时前
Python多环境管理
开发语言·python