首页 > 试题广场 >

在 C++ 中,类 M 的定义如下: class M { p

[单选题]
在 C++ 中,类 M 的定义如下:
class M
{
public:
    M(int n) : _v(n) {}
    M(M& m) { _v = m.getValue(); }    
    M& operator = (const M&) = delete;    
    int getValue() { return _v; }
private:    
    int _v;
};
则以下选项无法通过编译的是()
  • M m1(1);
  • M m1(1);
    M m2(m1);
  • M *pm3 = new M(1);
  • M m1(1);
    M m2(2);
    m2 = m1;
1.M& operator = (const M&);是拷贝赋值运算符的声明 2.= delete;这是C++11引入的删除函数的声明,它指示编译器静止生成或使用这个特定的函数。 所以这个运算符重载的目的是:显示的禁用类的拷贝赋值运算符。
发表于 2026-01-27 15:59:45 回复(0)