小编Ash*_*wyn的帖子

如何处理默认构造函数和重载构造函数之间的歧义?

A b(3)行产生歧义,因为它可以调用两个可能的构造函数中的任何一个.单个参数参数化构造函数或带有默认参数的双参数参数化构造函数.我该如何解决这个问题?

#include<iostream>
using namespace std;
class A
{
    public:
    int a,b;
    A()
    {
        a=5;
        b=6;
    }
    A(int a1)
    {
        a=a1;
        b=54;
    }
    A(int a1,int b2=8)
    {
        a=a1;
        b=b2;
    }
    void show()
    {
        cout<<"a="<<a<<" b="<<b<<endl;
    }
};    
int main()
{
    A a(3); // I want A(int a1,int b2=8) to get executed
    A b(3); // I want A(int a1) to get executed
    a.show();
    b.show();
    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

c++

7
推荐指数
1
解决办法
5843
查看次数

在java中使用非静态块有什么用?

可能重复:
实例初始值设定项与构造函数有何不同?

当所有必需的工作都可以在构造函数内完成时,为什么我们仍然需要Java中的非静态块?

编辑:在构造函数之前每次运行非静态块的普通类怎么办?

java

7
推荐指数
2
解决办法
9167
查看次数

sizeof运算符为c&c ++返回不同的值?

全局定义字符数组,并在函数内定义具有相同名称的结构.为什么sizeof运算符为c&c ++返回不同的值?

char S[13];
void fun()
{
    struct S
    {
        int v;
    };
    int v1 = sizeof(S);
}
Run Code Online (Sandbox Code Playgroud)

//在C++中返回4,在C中返回13

c c++

6
推荐指数
2
解决办法
496
查看次数

||的评估顺序 和&&在c

如果&&的优先级大于||的优先级,那么这个代码不应该首先评估--b && ++ c,因此输出应该是1 2 4 11.但是这里似乎是短路给1 2 5 10.请帮忙!

int x;
int a=1,b=5,c=10;
x=a++||--b&&++c;
printf("%d %d %d %d\n",x,a,b,c);
return 0;
Run Code Online (Sandbox Code Playgroud)

c

5
推荐指数
1
解决办法
525
查看次数

像整数数组这样的原始数据类型如何具有字段"长度"?

当原始数据类型不是类时,整数数组类型如何具有字段"长度"?例如

int a[] = {1,2,3,4};
int j = a.length;
System.out.println(j);
Run Code Online (Sandbox Code Playgroud)

java arrays

2
推荐指数
1
解决办法
1254
查看次数

这两种语法有什么区别?

为什么

(a?b:c)=5;

在'C'中显示所需的左值

*(a?&b:&c)=5;

完全没问题?两者有什么区别?

假设a = 1,对于第一种情况,它给出b = 5,第二种情况给出,*(&b)=5.`

我无法理解的是:如果我们写b=5或者它有什么不同*(&b)=5

c

1
推荐指数
1
解决办法
145
查看次数

在c ++中使用纯虚函数的主体有什么用?

除了可以从派生类重写方法调用它之外,纯虚函数似乎无法在任何地方调用!那么,它的使用是什么?例如.

class base
{
    public:
    virtual void fun()=0
    {
        cout<<"I have been called from derived class"<<endl;
    }
};
class derived:public base
{
    public:
    void fun()
    {
        cout<<"I am the derived class"<<endl;
        base::fun();

    }
};
void main()
{
    derived d;
    d.fun();
}
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
293
查看次数

标签 统计

c ×3

c++ ×3

java ×2

arrays ×1