首页 理论教育C++程序设计基础教程应用实例:点类的偏移和矩阵运算

C++程序设计基础教程应用实例:点类的偏移和矩阵运算

【摘要】:编写一个程序,声明一个点类Point,实现点的偏移,==,!其中各个成员函数就是实现这种转换并完成相应的矩阵运算功能。程序的执行结果如下:A矩阵:123456B矩阵:123456C矩阵:142536A+B矩阵:2468 10 12A-B矩阵:000000A*C矩阵:14 3232 77虽然这种转换比较复杂,但解决了矩阵运算通用性问题。

【例4.17】编写一个程序,声明一个点类Point,实现点的偏移,==,!=,+=,-=,+,-和输出等运算,并用若干数据进行测试。

解:声明点类Point,其中包含x和y私有数据成员,并采用成员函数方式实现若干运算符的重载。程序如下:

程序执行结果如下:

1:(6,7)

2:(16,12)

3:0

4:1

5:(18,15)

6:(12,8)

7:(14,11)

8:(8,4)

【例4.18】编写一个程序实现矩阵的基本运算(加、减、乘法运算),其中设计一个类,它的声明如下:

解:程序如下:

上述程序中,矩阵类Matrix把矩阵即两维数组转化为一维数组进行处理,其中有3个数据成员,rows和cols分别指出矩阵的行数和列数,data是转化成的一维数组的指针。其中各个成员函数就是实现这种转换并完成相应的矩阵运算功能。程序的执行结果如下:

A矩阵:

1 2 3

4 5 6

B矩阵:(www.chuimin.cn)

1 2 3

4 5 6

C矩阵:

1 4

2 5

3 6

A+B矩阵:

2 4 6

8 10 12

A-B矩阵:

0 0 0

0 0 0

A*C矩阵:

14 32

32 77

虽然这种转换比较复杂,但解决了矩阵运算通用性问题。