C++类
C++类
类
// public 成员提供类的接口,暴漏给外界,供外界使用
// private:提供各种实现类功能的细节方法,但不暴漏给使用者,外界无法使用
// 注意:struct 是成员默认为 public 的 class、class 成员默认是 private
class student{
public:
int number;
char name[100];
};
class Time{
public:
int Hour;
int Minute;
int Second;
// 成员函数
void initTime(int tmphour, int tmpmin, int tmpsec){
Hour = tmphour;
Minute = tmpmin;
Second = tmpsec;
}
};
int main()
{
student stu; // 定义对象
stu.number = 1000;
student *pstu = &stu; // 定义指向这个对象的指针
pstu->number = 1005;
cout << stu.number << endl;
Time time;
time.initTime(11, 14, 5);
cout << time.Hour << endl;
cout << time.Minute << endl;
cout << time.Second << endl;
return 0;
}
规范写法(抽出头文件)
对象拷贝
Time myTime;
myTime.Hour = 12;
函数默认参数
规定:
- 默认值只能放在函数声明中,除非该函数没有函数声明
- 在具有多个参数的函数中指定默认值时,默认参数都必须出现在不默认参数的右边
- 一旦某个参数开始指定默认值,它右边的所有参数都必须斯指定默认值
隐式转换和 explicit
编译系统,在私下做了很多我们所不知道和不了解的事
如果构造函数声明中带有 explicit,则这个构造函数只能用于初始化和显式类型转换
对于单参数的构造函数,一般都声明为 explicit,除非你有特别原因
构造函数初始化列表(初始成员变量)
- 显得专业