Go中的构造函数
我有一个结构,我希望使用一些合理的默认值对其进行初始化。通常,这里要做的是使用构造函数,但是由于go在传统意义上并不是真正的OOP,所以它们不是真正的对象,也没有构造函数。我注意到了init方法,但这是在包级别。还有其他类似的东西可以在结构级别使用吗?如果不是,那么Go中这种事...
2024-01-10C++构造函数错误
我正在为编译器编写解析器。所以对于构造我的代码:C++构造函数错误//constructor Parser::Parser(char* file) { MyLex(file) ; } 在使用编译G ++ parsy.cpp parsydriver.cpp,不过,我得到这个错误说:parsy.cpp: In constructor ‘Parser::Parser(char*)’: parsy.cpp:13: error: no matching function for call to ‘Lex::L...
2024-01-10异步/等待类构造函数
目前,我正在尝试async/await在类构造函数中使用。这样一来,我就可e-mail以为正在从事的Electron项目获取自定义标签。customElements.define('e-mail', class extends HTMLElement { async constructor() { super() let uid = this.getAttribute('data-uid') let message = await grabUID(uid) const shadow...
2024-01-10特定于模板的构造函数
我正在编写自己的矢量类,并且遇到了问题。 我将我的类定义为模板,我定义了每个矢量大小,并且我想为每个矢量大小指定特定的构造函数。 这里是代码:特定于模板的构造函数template<int size> ref class Vector { internal: Vector(int _x, int _y, int _z, int _w); private: float *m_data = new float[4]; }; 和定义...
2024-01-10C++中构造函数重载
#include<stdio.h>class Test { private: int i; int j; int k; public: Test() { i=j=k=0; } Test(int v) { i=j=k=v; } void print() { printf("i= %d, j=%d, k=%d \n",i,j,k); } };int main(){ Te...
2024-01-10不能使用线程构造函数
我一直在试图学习如何多线程,但我无法正确创建线程对象。我有一个名为task的函数,但是当我添加函数和参数时,它说构造函数不会接受它。顺便说一句,即时通讯使用Visual Studio作为我的IDE。不能使用线程构造函数这里是我的主文件:#include <iostream> #include <thread> #include "Task.h" using namespace std; in...
2024-01-10C#构造函数执行顺序
在C#中,当您执行Class(Type param1, Type param2) : base(param1)是先执行该类的构造函数,然后再调用超类构造函数,还是先调用该基本构造函数?回答:顺序是:成员变量被初始化为层次结构中所有类的默认值然后从最派生的类开始:变量初始化器针对派生最多的类型执行构造函数链可以确定将调用...
2024-01-10C#中的参数化构造函数
正如我们已经讨论过的那样,默认构造函数用于使用默认值初始化类的数据成员,并且默认构造函数不需要任何参数,因此它们称为零或不带参数构造函数。但是,如果我们想在运行时通过传递值来创建对象时初始化类的数据成员,即当我们想通过传递一些参数来初始化数据成员时,可以使用参数化构...
2024-01-10js盗用构造函数的实现
1、子类的构造函数中调用父类构造函数。2、由于函数只是在特定上下文中执行代码的简单对象,因此可以使用apply()和call()方法来执行构造函数,它以新建对象为上下文。实例function Super (name) { this.name = name} function Sub (name, age) { //继承Super Super.call(this, name) this.age = age} const p ...
2024-01-10c# 静态构造函数调用
静态构造函数在使用静态成员的时候调用。但是这个例子没有先调用静态构造函数。想知道为什么回答:Straight from ECMA-334:17.4.5.1: "If a static constructor (§17.11) exists in the class, execution of the static field initializers occurs immediately prior to executing that static constructor. Otherwise, the s...
2024-01-10抽象类中的私有构造函数
在Java中,在抽象类中使用私有构造函数的目的是什么?在一个评论中,我得到了这个问题,我很好奇,在什么情况下我们需要以这种方式使用构造函数?我认为它可以与抽象类中的另一个构造函数一起使用,但这非常简单。它也可以用于构造将超过抽象类的静态内部类。也许还有更优雅的用法?回...
2024-01-10使用C#反射调用构造函数
我有以下情况:class Addition{ public Addition(int a){ a=5; } public static int add(int a,int b) {return a+b; }}我通过以下方式调用添加另一个类:string s="add";typeof(Addition).GetMethod(s).Invoke(null, new object[] {10,12}) //this returns 22我需要一种类似于上述反射语句的方法,以使用创建一个类型为Addition的新对...
2024-01-10C ++中的虚拟构造函数
仅当我们具有指向派生类对象的基类指针时,虚拟机制才起作用。在C ++中,构造函数不能是虚拟的,因为执行类的构造函数时,内存中没有虚拟表,这意味着尚未定义虚拟指针。因此,构造函数应始终是非虚拟的。但是虚拟析构函数是可能的。范例程式码#include<iostream>using namespace std;class b { pu...
2024-01-10构造函数可以返回空对象吗?
在浏览一些旧代码时,我遇到了这个宝石:MyObject o = new MyObject("parameter");if (o == null) o = new MyObject("fallback parameter");第二行在Eclipse中被标记为无效代码,我知道为什么。似乎没有明确抛出任何异常,并且MyObject构造函数不可能抛出任何类型的异常(例如NullPointerException)。我的问题是 为什么 要进行空...
2024-01-10C++构造函数一些常见的坑
文章转自微信 公众号:Coder梁(ID:Coder_LT)某一天我们接到了一个需求,需要开发一个类似于STL中string的类。我们很快写好了代码:#include <iostream>#ifndef STRINGBAD_H_#define STRINGBAD_H_class StringBad { private: char *str; int len; static int num_strings; public: StringBad(const char*...
2024-01-10如何对构造函数进行单元测试
我有一堂课要添加单元测试。该类具有多个构造函数,这些构造函数采用不同的类型并将其转换为规范形式,然后可以将其转换为其他类型。public class Money { public Money(long l) { this.value = l; } public Money(String s) { this.value = toLong(s); } public long getLong() { return this.value; ...
2024-01-10C#在构造函数中初始化属性
示例class Example{ public string Foobar { get; set; } public List<string> Names { get; set; } public Example() { Foobar = "xyz"; Names = new List<string>(){"carrot","fox","ball"}; }} ...
2024-01-10构造函数指向perl6中的类
我想用Perl 6编写一些类来测试Perl 6类和方法。构造函数指向perl6中的类下面是代码:class human1 { method fn1() { print "#from human1.fn1\n"; } } class human2 { method fn1() { print "#from human2.fn1\n"; } } my $a = human1.new(); my $b = human2.new(); $a.fn1(); $b....
2024-01-10收集某种类型的构造函数的参数
对this后续问题,假设我有两个t1和t2的某个代数数据类型的术语,并且检查到t1和t2的构造函数是相同的。也就是说,(非正式),T1 = F(S)和t2 = G(T),我已经检查了F = G。现在,我想计算收集某种类型的构造函数的参数map f (zip S T) 假设S和T是名单参数。这个天真的代码会要求S中的所有东西都是单...
2024-01-10JAVA继承时构造函数的问题
今天看到java继承部分时,关于构造函数是否继承以及如何使用时遇到了点问题,后来查找相关资料解决了。下面是我个人的总结:先创建一个父类,里面有两个构造函数:public class Jisuan { protected int a=4; //构造函数1 Jisuan() { System.out.println("父类的无参数构造函数"); } //构造函...
2024-01-10抽象类中的构造函数有什么用?
由于我们无法实例化抽象类,那么在抽象类中具有构造函数的必要性是什么?回答:抽象类被设计为可扩展的,子类中的每个构造函数都必须执行对基类的构造函数的调用,因此,您的抽象类中需要构造函数。抽象类是一个骨架,因此直接实例化它是没有意义的,因为它仍然不完整(孩子们会提供其...
2024-01-10C++ 中构造函数的实例详解
C++ 中构造函数的实例详解c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。1. 构造函数是干什么的class Counter{ public: // 类...
2024-01-10C++:构造函数,析构函数详解
目录前言一、面向对象二、构造函数1.基本概念2.构造函数重载1.构造函数分类2.有参构造函数:3.有参构造函数3个调用规则:4.拷贝构造函数5.析构函数总结前言上期了解C++类中有public、protected、private三种访问权限。肯定会有人疑惑,C++为什么要设置这三个权限呢本期内容就是围绕上面的问题展开说...
2024-01-10类型“ ...”未定义构造函数
我注意到编译器错误当我错误地尝试实例化特定类时 生成的 。这使我想知道如何编写自己的类,以便在有人尝试实例化该消息时产生该消息。所以下面的代码,我该怎么办MyClass?namespace MyNamespace{ class Program { static void Main(string[] args) { MyClass mc = new MyClass(); } } ...
2024-01-10为什么构造函数注入比其他选项要好
在Pro Spring 3丛书的第4章-Spring中的IOC和DI简介-第59页中的“ Setter注入与构造方法注入”部分中,一段说包括Spring,提供了一种机制来确保在使用Setter Injection时定义了所有依赖关系,但是通过使用Constructor Injection,你可以以与容器无关的方式声明对依赖关系的要求。”你能举例说明一下吗回答:将必需...
2024-01-10