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;

函数默认参数

规定:

  1. 默认值只能放在函数声明中,除非该函数没有函数声明
  2. 在具有多个参数的函数中指定默认值时,默认参数都必须出现在不默认参数的右边
  3. 一旦某个参数开始指定默认值,它右边的所有参数都必须斯指定默认值

隐式转换和 explicit

编译系统,在私下做了很多我们所不知道和不了解的事
如果构造函数声明中带有 explicit,则这个构造函数只能用于初始化和显式类型转换

对于单参数的构造函数,一般都声明为 explicit,除非你有特别原因

构造函数初始化列表(初始成员变量)

  1. 显得专业
posted @   爱新觉罗LQ  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2023-10-09 单源最短路径问题【Dijistra】
点击右上角即可分享
微信分享提示