13.50 沒有定義析構函式
#include#include執行結果如下: 結果中出現移動建構函式是因為呼叫string建構函式返回的結果是右值#include
#include
#include
#include
using
namespace
std;
class
string
string(
char *c);
string(
const string&);
string& operator=(const string&);
string* begin() const
string* end() const
string(string &&);
string& operator=(string &&);
private
:
static allocatoralloc;
string *elements;
string *first_free;
};allocator
string::alloc;
string::string(
char *c)
string::string(
const string &s)
string& string::operator=(const string &s)
elements=data;
first_free=data+capacity;
return *this;}
string::string(string &&s):elements(s.elements),first_free(s.first_free)
string& string::operator=(string &&s)
}elements=s.elements;
first_free=s.first_free;
s.elements=s.first_free=nullptr;
return *this;}
intmain()
定義析構函式時:
#include#include執行結果如下:#include
#include
#include
#include
using
namespace
std;
class
string
string(
char *c);
string(
const string&);
string& operator=(const string&);
string* begin() const
string* end() const
//一定要定義析構函式,否則就算定義了移動建構函式還是不會呼叫,只會呼叫拷貝建構函式
~string()
}string(string &&) noexcept;
string& operator=(string &&) noexcept;
private
:
static allocatoralloc;
string *elements;
string *first_free;
};allocator
string::alloc;
string::string(
char *c)
string::string(
const string &s)
string& string::operator=(const string &s)
elements=data;
first_free=data+capacity;
return *this;}
string::string(string &&s) noexcept :elements(s.elements),first_free(s.first_free)
string& string::operator=(string &&s) noexcept
}elements=s.elements;
first_free=s.first_free;
s.elements=s.first_free=nullptr;
return *this;}
intmain()
return0;
}
類String的建構函式 析構函式和賦值函式
海康威視16年春季校招程式設計題目 題目 編寫類string的建構函式 析構函式和賦值函式,已知類string的原型為 class string 解答 1 普通建構函式 建構函式 建構函式是一種特殊的方法,主要用來在建立物件時初始化物件,即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的...
java中String類的建構函式
string類中的建構函式 string 構造乙個空字串物件 string byte bytes 通過byte陣列構造字串物件 string byte bytes,int offset,int length 通過byte陣列,從offset開始,總共length長的位元組構造字串物件 string ...
java中String類的建構函式
string類中的建構函式 string 構造乙個空字串物件 string byte bytes 通過byte陣列構造字串物件 string byte bytes,int offset,int length 通過byte陣列,從offset開始,總共length長的位元組構造字串物件 string ...