可能重复:
Class A
{
public:
//some member function call
private:
int x;
char a;
};
int main()
{
A a;
A b;
}
嗨,当我调用或初始化上面类的对象时,你能告诉我它们之间的区别吗?
A a(b);
A a=b;
a=b;
我想用一个字符初始化一个std::string。以下代码不起作用:
int main()
{
string s = 'c';
cout<<s;
return 0;
}
错误:
error: conversion from ‘char’ to non-scalar type ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ requested
string s = 'c';
但下面的方法是可行的。为什么会这样呢?
int main()
{
我正在尝试将int数组x插入int *v。这是我的代码。请为我提供最优的解决方案和背后的原因。
这一行有一个错误。不是复制数组的值,而是获取无用的值。线路v1=x;
class vector
{
int *v;
int size;
public:
vector(int m)
{
v = new int[size = m];
for (int i = 0; i < size; i++)
v[i] = 0;
}
vector(int *a)
{
for (int
考虑下面的类:
class Stats
{
private:
int arraySize; // size of array
int * data; // pointer to data, an array of integers
// default size of array in default constructor
static const int DEFAULT_SIZE = 10;
public:
Stats() // default constructor
{
arraySize = DEFA
我在我的应用程序中使用groovy作为扩展语言。脚本扩展的类的构造函数接受变量参数。当我尝试实例化groovy类时,从构造函数中的super()调用得到一个java.lang.ArrayIndexOutOfBoundsException。这个问题可以很容易地在独立的groovy脚本中重现:
// problem.groovy
class A {
A(float ... more) {}
}
class B extends A {
B() {
super();
}
}
new B();
运行时,这将生成:
$ groovy problem.groovy
既然Date有一个名为" after ( Date )“的方法,而Timestamp有一个重写它的方法--”后置(时间戳)“,那么为什么在下面的代码中调用Date方法呢?
关于意外结果的问题被问到了。
java.sql.Timestamp one = new java.sql.Timestamp(1266873627200L);
java.sql.Timestamp two = new java.sql.Timestamp(1266873627000L);
java.util.Date oneDate = (java.util.Date) one;
j
我有以下构造函数:
open class IPFS @JvmOverloads constructor(protected val base_url: String = "http://127.0.0.1:5001/api/v0/",
protected val okHttpClient: OkHttpClient = OkHttpClient.Builder().build(),
protected val m
我正在尝试实现一个类似于彩色对象十六进制分配的系统,例如:
Color color;
color = 0xffff00;
如果我的理解是正确的,运算符'=‘已经被重载,因此它实际上将十六进制值存储在Color内部的数据类型中。我不太明白如何做到这一点,但我拥有的是:(假设颜色存储在一个名为“data”的3字节类型的类型中)
Color operator=(const unsigned int& c) {
Color color;
color.data = c;
return color;
}
这能满足我的需要吗?
我想做这样的事情
public class Class1
{
public Class1()
{
}
public Class1(int a)
{
}
}
public class Class2 :Class1
{
public Class2(int a)
{
}
public Class2(): base(2)
{
this(2); // new Class2(2);
在我的Java类(Java I)中听讲座时,我得到了一份要打印的参考表。这不是家庭作业,它只是为了理解对象、类和构造器而需要查看的内容。我的问题是,多个构造函数是必要的吗?第一个声明所有的变量,第二个初始化它们。难道这不能在一个构造函数中完成吗?下面是构造函数的代码。非常欢迎您编写示例代码,或者只是帮助我理解我正在查看的内容。我对构造函数非常陌生。
public class Puppy
{
private String name; // puppy's name
private String breed; // breed of dog
p
我一直认为,一般来说,类的主要工作应该在它的实例方法中完成,而构造函数应该只让实例进入可用的初始状态。
但我发现,在实践中,将所有实际工作放在构造函数中似乎更有意义。
例如:我需要从数据库中检索一些特定于DBMS的信息。对我来说,最自然的方式似乎是拥有一个带有构造函数的DBMSSpecInfo类:
public DBMSSpecInfo(java.sql.Connection conn) throws SQLException{
// ... retrieve info from DBMS
}
/** @returns max size of table in kiB */
public
我在vb.net inside VS2010中创建了一个WCF。我有几个属性,它们当前是字节(0 - 255),代表不同的考试分数。我是否可以在此基础上创建我自己的类型,只允许介于0和110之间的值?例如,如果我有
Dim a as Byte
a = 256
我会得到“常量表达式不能在类型‘Byte’中表示”。在编译代码之前。我希望我自己的类型有这样的东西,这样下面的代码就会给我“在‘myByte’类型中无法表示的常量表达式”。
Dim a as myByte
a = 110
我有个简单的问题。
我能这么做吗?
class test {
int x;
public:
test();
test(int x);
};
总的来说,我有:
test t;
t(2);
假设我有一个类测试,首先我用默认构造函数声明对象t,然后我想显式地修改调用显式构造函数的值。因为我尝试了这个,所以没有匹配函数(test) (int)的调用,这是没有意义的。
可能重复:
我想编写一个Scala异常类,它是Java异常类的子类,并提供类似的构造函数(每个构造函数都调用相应的异常ctor )。例如,我将如何编写与这个Java类相当的Scala:
public class MyException extends java.lang.Exception {
public MyException () {
}
public MyException (String msg) {
super(msg);
}
public MyException (Throwable e) {
su
由于某些原因,我得到了以下异常(java.net.BindException: Address已经在使用),尽管在启动新的套接字之前,我正在增加端口#。在使用线程之前,我没有想到这个异常。
发送方应将文件的各个部分(每个部分使用一个新套接字)发送给接收方。程序正常工作,所有部件都不需要使用线程就可以接收到。
现在,在接收端只接收到文件的第一部分,因为服务器在第一个套接字之后不会创建任何套接字。
而且,在我开始使用线程之前,没有使用这些端口#s,因为它们都是工作的。
我对线程很陌生,所以我知道我可能用错了。
提前谢谢!
服务器类:
public class Server {
int port =
在Java和C++中,术语“默认构造器”都是正式的,在这两个世界中,这似乎意味着不同的东西。我想知道我的理解是否正确,一些相关概念的正确命名是什么?
默认构造函数在中是指在没有为类定义构造函数时由编译器生成的( no -arg)构造函数。
C++中的默认构造函数意味着可以在没有参数的情况下调用构造函数。
给出以下示例
Java:
class NoCtorClass {
// No ctor defined, compiler is generating one --------- J-1
}
class NoArgCtorClass {
public No
我正在从.NET“转换”到Java。我想知道为什么下面的代码不能工作
class MyClass{
private final int intVar; //ok
private final Paint paint; //error "Variable paint might not have been initialized"
public MyClass(){
intVar = 12;
initializePaint();
}
private void initializePaint(){
paint =