第十六课:C++中的初始化列表和构造函数初始化
学习目标:
学习内容:
初始化列表的概念:
基本语法:
Constructor() : member1(value1), member2(value2) {...}
初始化列表的优点:
实例说明:
Point
类,它有两个私有成员x
和y
,可以使用初始化列表来初始化这些成员。class Point {
private:
int x;
int y;
public:
// 使用初始化列表
Point(int x, int y) : x(x), y(y)
void print() {
std::cout << "Point(" << x << ", " << y << ")" << std::endl;
}
};
Point
类并调用print
方法:int main() {
Point p(1, 2);
p.print(); // 输出: Point(1, 2)
return 0;
}
预计输出效果:
Point(1, 2)
使用场景与用途:
练习题:
创建一个Rectangle
类,它包含两个私有成员变量width
和height
。需要你:
area
,计算矩形的面积。main
函数中创建一个Rectangle
对象,设置宽为5,高为3,然后打印出矩形的面积。// 你的代码
class Rectangle {
private:
int width;
int height;
public:
// 初始化列表在这里
Rectangle(int w, int h) : width(w), height(h) int area() const {
return width * height;
}
};
int main() {
Rectangle rect(5, 3);
std::cout << "Area: " << rect.area() << std::endl; // 应该输出矩形的面积
return 0;
}
// 预计输出效果
// Area: 15
答案解析:
在这个练习中,我们定义了一个Rectangle
类,其中包含了两个私有成员变量width
和height
。通过使用初始化列表,我们在构造函数中直接将这两个成员变量初始化。成员函数area
简单地返回宽和高的乘积,代表矩形的面积。在main
函数中,我们创建了一个Rectangle
对象,并打印出其面积。这个练习展示了初始化列表的使用,以及如何在类中封装数据和功能。