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,除非你有特别原因
构造函数初始化列表(初始成员变量)
- 显得专业
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2023-10-09 单源最短路径问题【Dijistra】