c++隐式类型转换示例分享
本文导语: 代码如下:/*=============================================================================# FileName: explicit_try.cc# Desc: 验证含有一个参数的非explicit构造函数是否可以拷贝初始化=====================================================================...
/*=============================================================================
# FileName: explicit_try.cc
# Desc: 验证含有一个参数的非explicit构造函数是否可以拷贝初始化
=============================================================================*/
#include
#include
#include
using std::cout;
using std::cin;
using std::endl;
using std::string;
using std::vector;
class People {
public:
People() = default;
People(string s):name(s) { }
string getName() const { return name; }
static vector &getVector() { return name_arr; }
//隐式类型转换,用string生成一个临时量,因此可以绑定到const形参上
static void addToVector(const People &p) {
name_arr.push_back(p.getName());
}
private:
string name = "";
static vector name_arr;
};
vector People::name_arr = {};
int main(int argc, const char *argv[])
{
People p;
cout