我正在使用NetBeans IDE 6.8(Mac版).他们的GUI构建器的哪个工具将帮助我这样做?
我想要的是在我向他展示应用程序之前,在我的应用程序加载几秒钟时向用户显示图像.我怎样才能做到这一点?初始化
class ABC {
private int[] variable;
public int[] getVariable() {
return variable;
}
public ABC() {
variable = new int[123456];
}
}
class DEF extends ABC {
public int[] getVariable() {
return new int[0];
}
}
Run Code Online (Sandbox Code Playgroud)
variable用于ABC,但完全未使用和不必要的DEF.但我看不到任何正确的方法来阻止创建这个大数组DEF,因为总是必须执行一些超类的构造函数.我只看到一种不优雅的方式:ABC的新"假"构造函数:
protected ABC(boolean whatever) {}
Run Code Online (Sandbox Code Playgroud)
然后DEF我可以写:
public DEF() {
super(true);
}
Run Code Online (Sandbox Code Playgroud)
它的工作原理 - variable未初始化.
但是,我的问题是 - 我可以更恰当地解决这个问题吗?
也许如果变量未使用,编译器会自动删除她吗?当这种特征有用时,情况经常发生.
我正在尝试在另一个构造函数中初始化类构造函数.GCC引发了错误,'Type'foo'没有调用操作符.这个伪代码应该解释我的意图.
class foo {
type arg1, arg2;
foo (type _arg1, type _arg2) {
_arg1=arg1;
_arg2=arg2;
}
}
class foo2 {
foo member;
foo2(type _arg1, type _arg2) {
member(_arg1, _arg2);
}
}
Run Code Online (Sandbox Code Playgroud) 初始化从其基类中转换的派生类的首选方法是什么?
请考虑以下情形:
class A{
public:
A();
~A();
}
class B : public A{
public:
B() {m_b = 0.0;};
~B();
float GetValue(){return m_b;};
private:
float m_b;
}
A* a = new A;
B* b = static_cast<B*>(a);
float val = b->GetValue(); // This was never initialized because it was not constructed
Run Code Online (Sandbox Code Playgroud)
我目前的解决方案是手动调用Initialize()函数,该函数将像构造函数那样执行必要的初始化.
虽然看起来很草率,但必须有一个更好/更清洁的方法.
非常感谢任何帮助和指导!
我目前发现的主要问题是“初始化指针”。
在 Pascal 中,您所要做的就是声明NEW(POINTER). 在 C++ 中,我迷路了——如果我错了,请纠正我——你必须声明一个“虚拟”变量才能启动一个指针。
让我这样说:我想构建一个由指针链接的类。在 Pascal 中,我所要做的就是为类添加一个指针,我称之为next,与它嵌套在其中的类型相同。
我如何在 C++ 中做到这一点?
打印数组时,初始化整数有效.
int a[MAX_SIZE] = {1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i <= (MAX_SIZE - 1); i++)
{
printf("%3d",a[i]);
}
Run Code Online (Sandbox Code Playgroud)
但是,我想知道为什么初始化一个指向整数("walker")的指针不起作用:
int a[MAX_SIZE] = {1,2,3,4,5,6,7,8,9,10};
for (int *aWalk = a, int *aEnd = a + MAX_SIZE - 1; aWalk <= aEnd; aWalk++)
{
printf("%3d", *aWalk);
}
Run Code Online (Sandbox Code Playgroud) initializing ×6
c++ ×3
constructor ×3
java ×2
c ×1
class ×1
loading ×1
loops ×1
photo ×1
pointers ×1