迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

C++ 类中的辅助函数

作者:迹忆客 最近更新:2023/08/26 浏览次数:

本文介绍如何在 C++ 类中实现辅助函数。


类中的 C++ 辅助函数

辅助函数是一种不由最终用户实例化的函数,但提供在另一个类内部使用的有用功能。 如果该函数不是该类的成员而是其他类的成员,则 C++ 程序将创建一个辅助函数来打印或将数据用于其他目的。

辅助函数通常由类的编写者提供,不需要直接访问类的表示。 让我们尝试用 C++ 实现辅助函数的示例。

#include <iostream>
#include <vector>

template <typename Delftstack>
void print(const std::vector <Delftstack>& DemoVec) {

    typename std::vector <Delftstack>::const_iterator x;
    for (x = DemoVec.begin(); x != DemoVec.end(); x++)
        std::cout << *x << "  ";
    std::cout << std::endl;
}

int main() {

    std::vector <int> vector1, vector2;
    vector1.assign(7, 3);
    vector2.assign(7, 6);

    std::cout << "Vector 1 : ";
    print(vector1);

    std::cout << "Vector 2 : ";
    print(vector2);

    if (vector1 == vector2)
        std::cout << "vector 1 and Vector 2  are lexicographically equal!"
                        << std::endl;

    else
        std::cout << "vector 1 and vector 2 are lexicographically not equal!"
                  << std::endl;

    if (vector1 > vector2)
        std::cout << "vector 1 is lexicographically greater than vector 2!"
                         << std::endl;

    else
        std::cout << "vector 2 is lexicographically greater than vector 1!"
                  << std::endl;
}

上面的代码使用类中的辅助函数来比较两个向量。 当两个向量不相等时,此代码的输出如下。

Vector 1 : 3  3  3  3  3  3  3
Vector 2 : 6  6  6  6  6  6  6
vector 1 and vector 2 are lexicographically not equal !
vector 2 is lexicographically greater than vector 1 !

当向量相等时,这意味着我们将向量的值:

vector1.assign(7, 3);
vector2.assign(7, 6);

更改为:

vector1.assign(7, 3);
vector2.assign(7, 3);

在这种情况下,输出将是:

Vector 1 : 3  3  3  3  3  3  3
Vector 2 : 3  3  3  3  3  3  3
vector 1 and Vector 2  are lexicographically equal!
vector 2 is lexicographically greater than vector 1!

我们可以忽略最后一行,因为它来自 else 条件; 它是为不等式场景设置的。 例如,如果值为:

vector1.assign(7, 6);
vector2.assign(7, 3);

这些值的输出将是:

Vector 1 : 6  6  6  6  6  6  6
Vector 2 : 3  3  3  3  3  3  3
vector 1 and vector 2 are lexicographically not equal!
vector 1 is lexicographically greater than vector 2!

上一篇:C++ 中的结构体继承

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

C++ 中的结构体继承

发布时间:2023/08/27 浏览次数:84 分类:C++

结构体和类很相似,但不同之处在于它们对面向对象编程中其他类或函数的可访问性。默认情况下,结构被指定为公共的,而类是私有的。 并且在继承中,我们不能继承私有指定的类; 我们必

C++ 中 Struct 和 Typedef Struct 的区别

发布时间:2023/08/27 浏览次数:94 分类:C++

This is a brief article about the difference between struct and typedef struct in C++.这篇小文章将讨论 C++ 中的关键字 typedef。 我们还将讨论 C++ 中简单结构和 typedef 结构之间的区别。C/C++ 中的 typedef 关键字 type

C++ 结构体默认值初始化

发布时间:2023/08/26 浏览次数:200 分类:C++

本文将介绍如何在 C++ 中初始化结构体中的默认值。在 C++ 中初始化结构中的默认值 初始化默认值主要有两种方法; 第一个是使用构造函数,第二个是不使用构造函数。

C++ 匿名结构体

发布时间:2023/08/26 浏览次数:159 分类:C++

本文介绍了 C++ 中匿名结构的使用。C++ 中的匿名结构体 C++ 不支持匿名结构体,因为 C 语言也不支持匿名结构,但与 C 不同,C++ 确实支持匿名联合。

在 C++ 中实现具有多个条件的 if 语句

发布时间:2023/08/26 浏览次数:185 分类:C++

C++ 逻辑运算符 && 或 || 可在 if 语句中使用以同时检查多个条件。本文将详细讨论如何在 C++ 中使用具有多个条件的 if 语句,并结合相关示例。

C++ 中的运算符优先级和结合性

发布时间:2023/08/26 浏览次数:178 分类:C++

本文将讨论 C++ 中的运算符以及它们在表达式中使用时如何求值。 它们的操作有特定的规则,因此我们将研究它们以了解使用 C++ 运算符的表达式求值。C++ 中的运算符

C++ 中的箭头运算符与点运算符

发布时间:2023/08/26 浏览次数:74 分类:C++

要了解点运算符与箭头运算符的不同之处,让我们首先了解这两个运算符的基础知识。C++ 中的点 (.) 运算符 C++ 中的点 (.) 运算符也称为类成员访问运算符,有助于访问任何给定类的公共成员。

在 C++ 中重载括号运算符

发布时间:2023/08/26 浏览次数:103 分类:C++

这个简单的编程指南将括号 ([]) 运算符重载为类对象的 getter 和 setter。首先,我们简单介绍一下运算符重载。C++ 中的运算符重载

C++ 中的一元否定运算符

发布时间:2023/08/26 浏览次数:135 分类:C++

一元减号运算符用于对数字取负,当它在变量之前使用时,它会对其值取负。一元减号运算符表示 C++ 中的前缀 - 符号。 必须在数字前加上 - 号才能将其取反;

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便