overloading 相关问题

术语重载和重载可以参考: - 构造函数和方法重载,一种多态,其中基于传递的参数的数据类型调用具有相同名称的不同函数 - 运算符重载,一种函数或方法重载的形式,其中被重载的动作是一个运算符,例如+或 -

函数重载取决于编译时对象状态

考虑有一个简单的类,根据其状态将整数写入 cout: #包括 类 NotAWriter{ 民众: NotAWriter& 运算符<<(const int& arg) { ...

回答 1 投票 0

缩小范围后结果的 TypeScript 类型推断

我试图让 TypeScript 根据调用函数的上下文正确推断函数的返回类型(结果)。 TS 正确地将结果推断为“isA” | 'isB' 因为 inp...

回答 1 投票 0

主JAVA中显示方法未连接

我不知道如何从形状类调用显示方法到Main方法。这是一个作业,我们不应该改变 Main 中写的内容,所以问题就来了......

回答 1 投票 0

从构造函数中的初始化列表推断成员大小(CWG 1591)什么是正确的方法?

我有一个类 Vec,其工作方式如下,我需要知道一种编写构造函数和/或推导指南的方法,以便用大括号括起来的初始化程序列表将 C 推导为 std::array 我有一个类 Vec<C>,其工作方式如下,我需要知道一种编写构造函数和/或推导指南 的方法,以便用大括号括起来的初始值设定项列表将 C 推导为 std::array<T,N>。 它当然可以与 std::vector<T> 一起使用,因为不需要知道尺寸。 #include <cassert> #include <iostream> #include <array> #include <vector> #include <concepts> #include <type_traits> template<typename T> concept has_resize = requires(T t) { {t.resize(0)}; }; template<typename C> class Vec { C elems; public: template<typename IndexType> requires std::integral<IndexType> && std::is_unsigned_v<IndexType> auto operator[](IndexType i) const { return elems[i]; } auto size() const { return elems.size(); } template<typename T> Vec(std::initializer_list<T> init)//MEMBER INITIALIZER LIST? { // WHAT CODE GOES HERE? } Vec(auto init) { if constexpr (has_resize<decltype(elems)>) elems.resize(init.size()); for (decltype(init.size()) i = 0; i<init.size() ; i++) elems[i] = init[i]; } }; template<typename C> Vec(C) -> Vec<C>; //WHAT'S THE CORRECT DEDUCTION GUIDE? int main() { Vec v0({1, 4, 7}); Vec v1(std::array<int,3>{2, 5, 8}); Vec v2(std::vector<double>{3, 6, 9}); } 编辑1:我们的想法不是修改调用Vec v0({1, 4, 7});或Vec v0{1, 4, 7};当然。 编辑2:template<typename T> Vec(const std::initializer_list<T>& vec) -> Vec<std::array<T, vec.size()>>;不起作用,如下所示:https://godbolt.org/z/b5vno6ff8 要从大括号括起来的列表中推断长度,您需要使用对数组的引用。语法有点奇怪: template<class T, std::size_t N> Vec(T (&&init)[N]) -> Vec<std::array<T, N>>;

回答 1 投票 0

如何使用Delphi重载DLL中的导出函数?

我使用 Delphi 编写了一个带有一堆不同过程和函数的 DLL。我想重载此 DLL 中的一个函数,但一旦重载,我就会收到一系列错误...

回答 1 投票 0

是否有一个处理 T | 的打字稿泛型T[]| “*”

我对打字稿中的泛型很陌生,这很令人困惑 有没有办法让展开运算符...在下面的代码片段中工作 问题 [ key: U, ...rest: Reg[U] ] 行没有按我的预期工作

回答 1 投票 0

如何在 ts 中使用函数重载来推断参数类型

我想实现一个可以通过不同参数推断返回类型的函数。 直接调用时可以正常推断类型,但是使用函数返回参数时,...

回答 1 投票 0

有没有办法为指针和数组提供单独的模板函数重载?

首先,我想特别强调C++20标签,因为我相信使用概念和require语句来解决这个问题要容易得多。 其次,当我在这里说数组时,我的意思是......

回答 1 投票 0

java中可以使用两个同名同参数的方法吗

//利用方法重载的概念 公开课练习10 { //计算矩形面积的方法 公共静态双计算Area(双倍长度,双倍宽度){ ...

回答 2 投票 0

当派生类仅重写所有方法的子集时,为什么会出现 C++ 编译错误,所有方法都具有相同的名称但不同的签名(重载)

简单地说,您有一个接口基类 A,它提供了一个多态 method(),一个派生类 B,它实现了其中一些 method() 的细节。然后一些外部函数调用这些,co...

回答 1 投票 0

仅在 const 限定符上重载方法

在大多数情况下,如果我们重载常量成员函数,则两个重载具有不同的返回类型或参数类型。在大多数情况下,返回类型是不同的。该函数通常返回...

回答 1 投票 0

被多个类继承的Python子类

目前我有一个类定义,如下所示: cls_A 类: def __init__(自身): 自我.__情节__(自我) # 一些属性 # 一些方法 def __plot__(自我,

回答 1 投票 0

用整型变量重载类名

我正在使用此处列出的书籍学习 C++。特别是,我读到了有关超载的内容。因此,在阅读之后,我正在尝试不同的例子来进一步阐明我的概念。一个这样的例子,其输出...

回答 2 投票 0

重载函数的调用不明确,double 与 float [重复]

每当我运行这段代码时...... #包括 int add(int x, int y){ 返回x+y; } 浮动添加(浮动x,浮动y){ 返回x+y; } int main(){ 使用命名空间 std; 添加(1.11,...

回答 1 投票 0

以子类作为参数的重载方法,但将方法称为超类

我有一个抽象类 Animal,有两个扩展类,Dog 和 Cat。 公共抽象类动物{ ... } 公共类狗扩展动物{ ... } 公共类 Cat 扩展 Animal { ... } 在

回答 5 投票 0

用于非常量参数的自定义类 fmt::formatter

我有一堂课: 类我的类{ 民众: std::string _cachedString; std::string_view get_string(){ _cachedString = “abc”; 返回_cachedString; } }; 模板<>

回答 1 投票 0

kotlin android 撰写,:aristidev;登录屏幕不像教程那样工作

@可组合 有趣的PasswordField(密码:字符串,onTextFieldChanged:(字符串) - >单位){ 文本域( 值 = 密码,onValueChange = {onTextFieldChanged(it)}, 占位符= {文本(文本=“

回答 1 投票 0

在接口中使用粗箭头和非粗箭头语法声明函数有什么区别?

在 TypeScript 的接口和类型中使用粗箭头和非粗箭头语法声明函数有什么区别? 例如: 构建(paramOne:字符串):字符串; 相比: 布伊...

回答 1 投票 0

在 C++ 中,为什么我不能获取也有模板版本的函数的地址?

下面是一段代码,尝试向另一个可以接受任何类型值的函数提供指向重载函数的指针: 模板 void AcceptAnything(T&&...

回答 1 投票 0

使用引用类型重载时对函数的调用不明确

我用两种不同的参数类型重载函数 f 。 在 source.h 中,我声明了两个函数。 无效 f(int&); 无效 f(int); 那它,我有两个函数,一个接受引用类型...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.