当前位置: 首页 > 工具软件 > delete > 使用案例 >

C++ =delete的使用

葛鸿熙
2023-12-01

=delete的使用

  • 禁止类使用默认生成的成员函数,最好设置为private,同时设置为=delete
  • 禁止类使用其他类成员函数

1、禁止类使用默认生成的成员函数

class A{
public:
	A(){}
	~A(){}
private:
	A(const A&) = delete;//拷贝构造函数
	A& operator=(const A&) = delete;//赋值运算符
	A* operator&() = delete;//取值运算符
	const A* operator&()const = delete;//取址运算符 const	
}

2、禁止类使用其他类成员函数

#include <iostream>
using namespace std;

class A{
public:
    A(){}
    int fun1(int a){return a;}
    int fun2(int a) = delete;
    
};

int main(){
    A* temp = new A();
    cout << temp->fun1(1) << endl; //正确
    //temp->fun2(1); //使用错误
    return 0;    
}
 类似资料: