构造函数delete和default关键字分析
2015-08-11 10:30
316 查看
myclass(const myclass &other)= delete;//默认删除拷贝构造函数,无法拷贝构造
myclass() = default;//默认存在,可以构造
myclass() = default;//默认存在,可以构造
#include <iostream> using namespace std; //如果声明已经定义,便不会生成 //delete可以禁用默认生成的函数,禁用构造,可以无法实例化;禁用拷贝构造,禁止别人拷贝你 //default默认存在, class myclass { private: int a; int b; public: myclass(const myclass &other)= default;//默认删除拷贝构造函数,无法拷贝构造 //myclass() = delete;//默认删除构造函数,无法实例化 myclass() = default;//默认存在 myclass(int b) { } myclass(int x, int y) { a = x; b = y; } void print() { cout << a << " " << b << endl; } }; void main() { myclass class1(10,100);//编译器会生成默认的构造函数 myclass class2(class1);//编译器会生成默认的拷贝构造函数 class1.print(); class2.print();//默认的拷贝构造函数 //myclass class3(4); myclass class3; cin.get(); }
相关文章推荐
- oracle数据库删除数据Delete语句和Truncate语句的使用比较
- 解决Default storage engine (InnoDB) is not available导致mysql无法启动的修改办法
- delete from 表名与truncate table 表名区别
- drop,truncate与delete的区别
- mysql delete limit 使用方法详解
- MySQL DELETE语法使用详细解析
- ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享
- sqlserver中delete、update中使用表别名和oracle的区别
- SQL Server中的XML数据进行insert、update、delete
- 浅析c#范型中的特殊关键字where & default
- 浅析drop user与delete from mysql.user的区别
- SQL Server中的XML数据进行insert、update、delete操作实现代码
- MySQL之Field‘***’doesn’t have a default value错误解决办法
- C++中拷贝构造函数的应用详解
- 构造函数不能声明为虚函数的原因及分析
- C++类成员构造函数和析构函数顺序示例详细讲解
- C++中new与delete、malloc与free应用分析
- 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(实例说明)
- c++基础语法:构造函数与析构函数
- mysql 删除操作(delete+TRUNCATE)