图6.18类层次图程序如下:本程序的执行结果如下:圆桌属性数据:高度:0.6米桌面半径:0.5米面积:0.785平方米颜色:白色设计一个虚基类Person,包含姓名和年龄私有数据成员以及相关的成员函数,由它派生出领导类Leader,包含职务和部门私有数据成员以及相关的成员函数,再由Person派生出工程师类Engineer,包含职称和专业私有数据成员以及相关的成员函数,然后由Leader和Engineer类派生出主任工程师类Chairman。......
2023-11-07
【例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
虽然这种转换比较复杂,但解决了矩阵运算通用性问题。
有关C++程序设计基础教程的文章
图6.18类层次图程序如下:本程序的执行结果如下:圆桌属性数据:高度:0.6米桌面半径:0.5米面积:0.785平方米颜色:白色设计一个虚基类Person,包含姓名和年龄私有数据成员以及相关的成员函数,由它派生出领导类Leader,包含职务和部门私有数据成员以及相关的成员函数,再由Person派生出工程师类Engineer,包含职称和专业私有数据成员以及相关的成员函数,然后由Leader和Engineer类派生出主任工程师类Chairman。......
2023-11-07
本节采用类模板设计几个通用的数据结构,这种类属程序设计方法不仅提高了程序的可靠性,而且大大提高了程序设计效率。抽象数据类型线性表的定义如下:设计满足上述定义的List
2023-11-07
解:上述程序与例4.2程序的功能相同,只是在这里重载运算符有一个返回值,因此A++或++B的结果是一个整数值。程序的执行结果如下:n=7n=62.重载单目运算符“->”“->”运算符是成员访问运算符,这种一元运算符只能被重载为成员函数。......
2023-11-07
程序设计是指设计、编写和调试程序的方法与过程。由于程序是软件的本体,因此软件的质量主要通过程序的质量体现,因此,研究一种切实可行的程序设计方法至关重要。继承是面向对象程序设计方法的一个重要标志,利用继承机制可以大大提高程序的可重用性和可扩充性。......
2023-11-07
类是一种用户自定义的数据类型,定义一个类,就是描述类名及其成员。“类名”是一个标识符,用于唯一标识一个类。分析以下声明MyClass类的组成。该类的描述如图2.1所示,其中大圆圈中列出的函数名均为公有函数名,小圆圈中列出的是所有数据成员。图2.1MyClass类描述注意:因为类是一种数据类型,在声明一个类时系统并不会为其分配内存空间,所以在定义类中的数据成员时,不能对其进行初始化。......
2023-11-07
在正常情况下,系统会为每一个类自动生成一个默认的完成上述功能的赋值运算符,当然,这种赋值只限于由一个类类型说明的对象之间赋值。图4.3对象内存分配可以重载运算符“=”来解决这个问题。在赋值运算符连用时,如s3=s2=s1,应使用方式2实现“=”运算符重载。......
2023-11-07
C++支持三种格式的循环控制语句:while、do和for语句。图1.3while语句的执行过程编写一个程序,将用户输入的整数反向显示出来。解:程序如下:3.for语句for语句通常用于预先知道循环次数的情况,其一般形式为:for语句;其中,“初始化语句”可以是一个定义语句或表达式语句,一般用于对一组变量进行初始化或赋值。“表达式2”在每次循环执行完成后执行,一般用于改变控制循环的变量。......
2023-11-07
一个统一的公共接口必须经过精心的分析和设计。将这些函数作为基类的虚函数,它们定义了一个统一公共接口。利用虚函数,可在基类和派生类中使用相同的函数名定义函数的不同实现,从而实现“一个接口,多种方式”。设计一个公共基类Container为抽象类(界面),Container类中声明求表面积和体积的纯虚函数。由Container抽象类派生出三个类即Cube、Sphere和Cylinder,在这三个类中都具有求表面积和体积的重定义版本。......
2023-11-07
相关推荐