【c++】编译器为我们实现了几个类成员函数?
2024-10-18 22:33:10
#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[] = NotEmpty(); //出错
//因为map会先查找key=1,有则返回其值的引用;没有,则默认插入一个NotEmpty,且用NotEmpty的默认构造函数(这里NotEmpty没有默认构造)
最新文章
- jQuery标准的AJAX模板
- js表单提交一种方式
- 今天来做一个PHP电影小爬虫。
- LeetCode 刷题记录
- eclispe 出现超内纯错误
- 在Mac下如何开Wifi
- 格而知之6:我所理解的Runtime(1)
- 【Java每日一题】20170308
- 海思板卡SATA最佳读写块大小测试
- 关于支付时rsa加密解密的函数
- C#语言中的XmlSerializer类的XmlSerializer.Serialize(Stream,Object)方法举例详解
- npm 安装cnpm淘宝镜像时报错解决
- log4j2使用入门(一)
- mysql查询表字段名称,字段类型
- docker 基础之私有仓库
- python2与python3 字符问题以及 字符编码 内容总结
- 使用Actuator监控
- Spring错误——Spring 单元测试——Test class should have exactly one public constructor
- 支持续传功能的ASP.NET WEB API文件下载服务
- WordPress REST API 内容注入漏洞