日志14

类与对象

●类的定义:以 class 关键字定义类,类中可以有成员变量(表示对象的属性)和成员函数(表示对象的行为)。例如定义一个简单的 Rectangle 类,class Rectangle { private: int width; int height; public: int getArea() { return width * height; } };,这里 width 和 height 是私有成员变量,getArea 是公有成员函数用于计算矩形面积。

●对象创建与访问:通过类名创建对象,如 Rectangle rect; ,访问对象的成员函数和成员变量可以用 . 操作符(对于普通对象)或者 -> 操作符(对于指针指向的对象),像 rect.getArea(); 或者 Rectangle* ptr = ▭ ptr->getArea();。

●构造函数与析构函数:

○构造函数:与类同名,用于在对象创建时初始化成员变量等操作,可重载,分为默认构造函数(无参构造函数,如果没定义,编译器会自动生成一个默认版本)和有参构造函数等。例如 Rectangle(int w, int h) : width(w), height(h) {} 就是一个有参构造函数,通过初始化列表初始化成员变量。

○析构函数:名称为 ~ 加上类名,在对象销毁时自动执行,常用于释放对象占用的资源,如动态分配的内存等,像 ~Rectangle() {} 。

继承

●继承方式:有 public(公有继承)、private(私有继承)、protected(保护继承)三种继承方式。公有继承下,基类的公有成员在派生类中仍是公有成员,保护成员仍是保护成员;私有继承会把基类的公有和保护成员都变为派生类的私有成员;保护继承则是将基类公有成员变为派生类保护成员等,影响着派生类对基类成员的访问权限和后续派生类的继承情况。

●派生类构造函数与析构函数:派生类构造函数需要先调用基类构造函数来初始化从基类继承的成员,再初始化自身新增的成员;析构函数的调用顺序与构造函数相反,先调用派生类析构函数,再调用基类析构函数。
全部评论

相关推荐

07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
点赞 评论 收藏
分享
吴offer选手:HR:我KPI到手了就行,合不合适关我什么事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务