例1.只有string型构造函数
#include<iostream>
#include<string>
using namespace std;
class Base
{
public:
Base(string str)
{
cout<<"string: "<<str<<endl;
}
};
int main()
{
Base a("haha");
// std::cin.get();
getchar();
}
例2:只有char*构造函数
#include<iostream>
#include<string>
using namespace std;
class Base
{
public:
Base(char* pstr)
{
cout<<"char*: "<<pstr<<endl;
}
};
int main()
{
Base a("haha");
// std::cin.get();
getchar();
}
例3:同时有string和char*构造函数。对字符串初始化时,默认调用char*构造函数。如果是用string对象初始化时才用string构造函数。
#include<iostream>
#include<string>
using namespace std;
class Base
{
public:
Base(string str)
{
cout<<"string: "<<str<<endl;
}
Base(char* pstr)
{
cout<<"char*: "<<pstr<<endl;
}
};
int main()
{
Base a("haha");
string s="hello";
Base b(s);
// std::cin.get();
getchar();
}