本文共 2003 字,大约阅读时间需要 6 分钟。
#includeusing namespace std;class Student{ public: Student(int id,string name) { _id = id; _name = name; } Private: int _id; int _name;};
#includeusing namespace std;class Student{ public: Student(int id,string name) :_id(id) ,_name(name) { } Private: int _id; int _name;};
注意:
C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).
#includeusing namespace std;class Student{ public: explicit Student(int id) :_id(id) {} Private: int _id;};int main(){ Student a1(1234); // 用一个整形变量给日期类型对象赋值 // 实际编译器背后会用2019构造一个无名对象,最后用无名对象给d1对象进行赋值 a1 = 2345;//构造 + 拷贝构造 + 优化 == 构造}
用explicit修饰构造函数,将会禁止单参构造函数的隐式类型转换。
1.概念:
声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态的成员变量一定要在类外进行初始化。 2.特性友元分为:友元函数和友元类
1.友元函数
class Student{ friend ostream& operator<<(ostream&_cout,const Student& d); public: Student(int id) :_id(id) { } ostream& operator<<(ostream& _cout,const Student& d) { _cout <
友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在类的内部声明,声明时需要加friend关键字。
注意:
2.友元类
友元类的所有成员函数都可以是另一个类的友元函数,都可以访问另一个类的非公有成员。转载地址:http://jcbbb.baihongyu.com/