explicit 关键字
- 作用是表明该构造函数是显示的, 而非隐式的.不能进行隐式转换!
- 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).
#include <iostream>
#include <string>using namespace std;class student {
public:explicit student(int _age) {
age = _age;cout << "age=" << age << endl;}student(int _age, const string _name) {
age = _age;name = _name;cout << "age=" << age << "; name=" << name << endl;}~student() {
}int getAge() {
return age;}string getName() {
return name;}
private:int age;string name;
};int main(void) {
student xiaoM(18); student xiaoW = 18; system("pause");return 0;
}