6.4 结构函数
第5章介绍了结构类型,它可在一个地方存储多个数据元素,结构可以做的工作远不止此。一个重要的功能就是结构可以包含函数和数据。这初看起来很奇怪,但实际上是非常有用的。考虑以下结构:
struct CustomerName {
public string firstName, lastName;
}
如果变量的类型是CustomerName
,并且要在控制台上输出一个完整的名称,就必须从其组件部分建立该名称。CustomerName
变量myCustomer
可以使用下述语法:
CustomerName myCustomer;
myCustomer.firstName = "John";
myCustomer.lastName = "Franklin";
Console.WriteLine("{0} {1}", myCustomer.firstName, myCustomer.lastName);
把函数添加到结构中,就可以集中处理常见任务,从而简化这个过程。可以把合适的函数添加到结构类型中,如下所示:
struct CustomerName {
public string firstName, lastName;
public string Name() {
return firstName + " " + lastName;
}
}
看起来这与本章前面的其他函数很类似,但没有使用static
修饰符。本书将在后面阐明其原因,现在知道该关键字不是结构函数所必须的即可。这个函数的用法如下所示:
CustomerName myCustomer;
myCustomer.firstName = "John";
myCustomer.lastName = "Franklin";
Console.WriteLine(myCustomer.Name());
这个语法比前面的语法简单得多,也更容易理解。注意,Name()
函数可以直接访问firstName
和lastName
结构成员,在CustomerName
结构中,它们可以被看作是全局成员。
6.5 函数的重载
本章的前面介绍了在调用函数时,必须匹配函数的签名。这表明,需要让多个函数操作不同类型的数据!想进一步了解函数重载的奇妙之处吗?可以参考C++函数重载运算符重载类型转化,或看看这篇详细的C++函数重载例子解析。想知道更多关于构造函数重载的内容?那么C++构造函数重载这篇文章会是你不可错过的好资源。
函数重载不仅让代码更具可读性,还能有效地提升程序的扩展性!是不是令人惊叹?在C语言和C++中,函数重载被广泛应用,甚至在复杂的编程场景下也能轻松应对。C函数重载复数和C++ 重载运算符和重载函数都提供了很多实用的案例。
无论你是初学者还是有经验的程序员,理解并掌握函数重载的技巧,都是提高编程能力的关键。阅读这些资源,将为你打开一扇通往高级编程的大门,让你在代码的世界中游刃有余!
暂无评论