1.思维导图
2.总结类和结构体的区别
- 结构体的成员和成员函数在默认情况下的访问级别是public,类成员和成员函数在默认情况下的访问级别是private,结构体的继承默认是public,而c++类的继承默认是private。
- struct是值类型,而class是引用类型
- struct比class效率更高,但struct不适合处理逻辑复杂的大对象。
- struct只能添加带参的构造函数,不能使用abstra和protected等修饰符,不能初始化实例字段。
- 在表示诸如点、矩阵等主要用来存储数据的轻量级对象时,首选struct
- 在表示数据量大、逻辑复杂的大对象时,首选class
- 在表现抽象和多级别的对象层次时,class是最佳选择。
3.定义一个矩形类(Rectangle),包含私有成员:长(length)、宽(width),
定义成员函数:
设置长度:void set_l(int l)
设置宽度:void set_w(int w)
获取长度:int get_l();
获取宽度:int get_w();
展示函数输出该矩形的周长和面积:void show()
#include <iostream>
using namespace std;
class Rectangle
{
//定义一个矩形类(Rectangle),包含私有成员:长(length)、宽(width),
private:
int length;
int width;
// 定义成员函数:
//设置长度:void set_l(int l)
//设置宽度:void set_w(int w)
// 获取长度:int get_l();
//获取宽度:int get_w();
//展示函数输出该矩形的周长和面积:void show()
public:
void set_l(int l)
{
length = l;
}
void set_w(int w)
{
width = w;
}
int get_l(){
return length;
}
int get_w(){
return width;
}
void show()
{
cout<<"周长="<<(length+width)*2<<endl;
cout<<"面积="<<length*width<<endl;
}
};
int main()
{
Rectangle rectangle;
rectangle.set_l(10);
rectangle.set_w(8);
int len = rectangle.get_l();
int wid = rectangle.get_w();
cout<<len<<"\t"<<wid<<endl;
rectangle.show();
return 0;
}