【面试】编译器为我们实现了几个类成员函数?(c++)
#include <cassert> #include <complex> #include <iostream>class Empty{};Empty e; Empty b = e; Empty d; Empty b = d; Empty f(b);//c98--同上 class Empty2 {public://默认构造 Empty2() {}//拷贝构造Empty2(const Empty2&) {}//重载 = Empty2& operator = (const Empty2&) {return *this;}//析构函数inline ~Empty2() {} };//编译器为我们实现了几个类成员函数 class AnotherEmpty : public Empty {public://同上, 只是在构造的时候,还会调用一下基类构造函数 AnotherEmpty() : Empty() {} };class Void {public://如果已经写过构造函数,编译器会把剩下的成员函数生成 Void() {} }class NotEmpty {public://自己写了构造函数,编译器不会生成默认构造函数NotEmpty (int a) : m_value(a) {}private:int m_value; }std::map<int, NotEmpty> m; m[1] = NotEmpty(10); //出错 //因为map会先查找key=1,有则返回其值的引用;没有,则默认插入一个NotEmpty,且用NotEmpty的默认构造函数(这里NotEmpty没有默认构造)
转载于:https://www.cnblogs.com/douzujun/p/10660619.html
【面试】编译器为我们实现了几个类成员函数?(c++)相关推荐
- 面试中常被问到(11)虚函数/纯虚函数
虚函数 如何定义一个虚函数?在基类成员函数前加入virtual关键字,但并不代表此函数不被实现,只是说明允许基类指针调用派生类重写的此函数 一个类只要声明有虚函数或者从基类继承了虚函数,在编译过程中就 ...
- 一叶知秋:“安全“的野指针、 static函数、成员函数、this 指针、gcc编译器、name mangling
<span style="font-size:18px;">我们从实验中去总结问题 测试一: virtual 函数和non-virtual函数 01.#include ...
- 一叶知秋:“安全“的野指针、 static函数、成员函数、this 指针、gcc编译器、name mangling...
<span style="font-size:18px;">我们从实验中去总结问题 测试一: virtual 函数和non-virtual函数 01.#include ...
- 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链)
你不走出舒适圈,又怎么知道自己多坚强?! 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链) 前端面试 - JS总结(2) - ES6 (let, 箭头函数, this) 前 ...
- 【校招面试 之 C/C++】第15题 C 回调函数
转自:https://segmentfault.com/a/1190000008293902 做略微改动 什么是回调函数 我们先来看看百度百科是如何定义回调函数的: 回调函数就是一个通过函数指针调用的 ...
- C++中的空类,编译器默认可以产生哪些成员函数
C++中创建一个空类: class Empty {}; 默认会生成4个函数,其函数的原型如下: public: Empty() { ... } Empty(const Empty& rhs) ...
- atoi函数_吊打面试官 | 腾讯经典考点写代码实现atoi函数
点击蓝字关注我哦 以下是本期干货视频视频后还附有文字版本哦 ▼<腾讯经典考点-写代码实现atoi函数>▼ ps:请在WiFi环境下打开,如果有钱任性请随意 在腾讯面试时,经常会被问到如何用 ...
- ideajava目录显示类成员_面试:C++不可继承类
作者:wxquare 链接:https://www.cnblogs.com/wxquare/p/7280025.html 面试中可能遇到让设计一个无法被继承的类.最简单的实现是将该类的构造函数设置为私 ...
- 编译器为C++ 空类自动生成的成员函数
在下列四种函数没有显式声明时,编译器将会自动生成: (1)缺省构造函数:(2)缺省拷贝构造函数:(3)缺省析构函数:(4)缺省赋值运算符:(5)缺省取址运算符:(6)缺省取址运算符 const 转载于 ...
最新文章
- python 将数组中部分转入新数组_python – 如何将掩码从一个数组应用到另一个数组?...
- 新建JRapid项目(idea创建maven多模块项目)
- sublime3(anaconda) 无法自动补全第三方模块
- hdu4740 Sum
- 数据中心建设提速 2021年呈四大发展趋势
- linux编译安装zabbix,Linux安装zabbix--CentOS7.3
- 【深度学习】Transformer长大了,它的兄弟姐妹们呢?(含Transformers超细节知识点)...
- tc351i 发送短信息 代码
- 高德地图开启迪士尼赠票活动 带您开启迪士尼圆梦之旅
- java对比swith和if的不同,浅谈选择结构if语句和switch语句的区别
- 引进博士:130平米住房+20万经费+15万年薪;硕士24万引进费+可聘讲师
- java进行多个照片合并操作
- 自动化测试环境搭建之RFS自动化测试框架全攻略
- 通过微信公众号跳转H5页面领取现金红包
- shape制作出来的虚线
- 真相(truth)最可怕的敌人不是谎言(lie),而是神话(myth)
- 线性表顺序存储的一些操作(初始化,添加,删除)
- java继承a mya new c,“内部类” 大总结(Java),内部类总结java
- ntp和chronyd
- Java IO流---字节流
热门文章
- LeetCode 15三数之和16最接近的三数之和
- 线性表C语言locate和ETget,线性表(数据结构重难点讲解)
- 宝藏文章!【CCNA命令大全】
- 阿里云性能测试服务 PTS 新面貌 - 压测协议、施压能力全新升级
- 程序员修炼之路:你该知道的 7 个必经阶段
- KubeVela 正式开源:一个高可扩展的云原生应用平台与核心引擎
- 电子书下载 | 超实用!阿里售后专家的 K8s 问题排查案例合集
- 从零开始入门 K8s | Kubernetes 调度和资源管理
- linux eclipse go插件,Eclipse的Go插件(goclipse)
- unet论文_图像分割之RefineNet 论文笔记