【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);
相关推荐
Q***l6872 小时前
C++在计算机图形学中的渲染
开发语言·c++
0和1的舞者2 小时前
《网络编程核心概念与 UDP Socket 组件深度解析》
java·开发语言·网络·计算机网络·udp·socket
惜棠2 小时前
visual code + rust入门指南
开发语言·后端·rust
n***i952 小时前
Rust在嵌入式系统中的内存管理
开发语言·后端·rust
q***06292 小时前
ThinkPHP和PHP的区别
开发语言·php
oioihoii2 小时前
C++语言演进之路:从“C with Classes”到现代编程基石
java·c语言·c++
Java天梯之路3 小时前
Java 初学者必看:接口 vs 抽象类,到底有什么区别?
java·开发语言
咔咔咔的3 小时前
3190. 使所有元素都可以被 3 整除的最少操作数
c++
7***53343 小时前
Rust错误处理模式
开发语言·后端·rust
T***16073 小时前
C++在游戏开发中的AI行为树
开发语言·c++