【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);
相关推荐
Han.miracle3 分钟前
Java线程的学习—多线程(一)
java·开发语言·学习
应用市场18 分钟前
PHP microtime()函数精度问题深度解析与解决方案
android·开发语言·php
长存祈月心34 分钟前
Rust HashSet 与 BTreeSet深度剖析
开发语言·后端·rust
长存祈月心38 分钟前
Rust BTreeMap 红黑树
开发语言·后端·rust
好奇的候选人面向对象1 小时前
基于 Element Plus 的 TableColumnGroup 组件使用说明
开发语言·前端·javascript
wjs20241 小时前
CSS3 圆角
开发语言
颜颜yan_1 小时前
Rust impl块的组织方式:从基础到实践的深度探索
开发语言·后端·rust
代码改善世界1 小时前
Rust 入门基础:安全、并发与高性能的系统编程语言
开发语言·安全·rust
没有故事、有酒1 小时前
Axios
开发语言·php
xiaozaq2 小时前
java 正则表达式 所有的优先级
java·开发语言·正则表达式