当前位置: 代码迷 >> 综合 >> C++基础知识 - explicit 关键字
  详细解决方案

C++基础知识 - explicit 关键字

热度:26   发布时间:2023-10-10 15:12:39.0

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;  //隐式构造 //student xiaoHua(19, "小花"); //显示构造//student xiaoMei = { 18, "小美" }; //隐式构造 初始化参数列表,C++11 前编译不能通过,C++11新增特性system("pause");return 0;
}
  相关解决方案