❶ java 构造函数是否能不定义
可以不定义.不定义的话系统会默认产生一个 参数为空的构造方法;
不过用javaBean的话,必须得有一个参数为空的构造方法;
楼主还是养成一个好习惯,写上一个无参构造;这是没有任何负担的..呵呵.
❷ 对于一个类如果不定义构造方法,编译器默认一个无参的构造方法,代码中会显示出吗
不会,不过可以通过反汇编查看,但是如果你定了一个构造函数(无参获带参的)那么原先默认的构造函数将自动被注销
❸ 如果不定义构造函数,编译器给出的默认构造函数一样么,这时定义的对象怎么赋值
构造函数是编译器提供的一个接口供程序员选择,在创建对象时按需要初始化成员变量。当然你也可以不通过构造函数初始化,选择在创建对象后,通过公开成员变量由外部程序赋值,或者你也可以编写相应的函数进行赋值,具体怎么做由程序员决定。
当没有定义构造函数时,系统提供一个默认构造函数(隐含的),只是为了满足接口需要,不做任何事情。
比如:
classMyClass
{
//MyClass()//无参构造函数,你可以不用
//MyClass(constMyClass&other)//拷贝构造函数,你可以不用
public:
intnValue;//你可以选择公开成员变量
voidSetValue(intval)//也可以定义设置函数
{
nValue=val;
}
}
//那么
voidmain()
{
MyClassA;
A.nValue=10;//创建对象后设置值
A.SetValue(10);//或者通过函数设置值
}
初始化是否采用构造函数看你需要,如果你的成员变量是个确定值(每个对象都一样),可以将成员变量定义为常量,或者在构造函数中初始化,那么创建对象后,对象的成员变量就自动被赋值,后面赋值语句就不用写了,如果你的成员变量需要在运行时确定,或者每个对象的值不一样,就是值不确定。那么就不使用构造函数,而在需要的时候赋值。
❹ C++中,只是声明一个函数而不定义,编译时会不会产生与之相对应的命令代码
不会产生代码,也不会出错。就算语言规定默认定义的构造函数如果不使用不会产生代码的。
❺ 5、用C语言编程时,变量可以不定义,直接使用对吗
不可以,C语言是强类型语言,必须定义变量名,而且定义变量是为了给该变量提供一个内存区。
❻ C++编译错误:不定义该运算符或到预定义运算符可接收的类型的转换
void SearchHashTable(HashTable HT,char* ch)
看到没,这个HT是一个HashTable,不是数组,用不了[]
❼ c语言自定义函数可以不定义直接申明
当然可以。
调用一个函数,必须保证这个函数名在之前出现过,你可以把函数体放前面,亦可以只写一个声明。。。。。
如果你调用一个函数,这个函数没有出现在调用这一行之前,可以只是个函数声明,也可以是函数体。。。编译就像看文章一样,一行行来的,前面没有提到过这个东西,那他就不知道是什么,所以不通过。。。。函数调用之前,必须要知道他的参数有几个,类型是什么,返回值是什么,前面没有,这就没法编译,函数声明就提供了所有这方便的内容,所以要在前面写清楚。。。
❽ java问题 不定义包,编译和运行都没问题,定义了包后,编译可通过,执行就显示错误
写了包之后,在dos命令下把文件编译成.class文件,然后在你配的环境变量的class的路径下新建文件夹xyz,在xyz文件夹下新建文件夹abc,然后把你编译后的.class文件放在里面,在dos命令下把路径改到。。/xyz/abc下,然后在运行就可以了
❾ C语言如何实现头文件不定义函数名,然后c文件里就不编译该函数,或者其他能实现这样效果的办法
采用条件编译即可。
在.h头文件中加上
#if1
#defineFUNC_ENABLE
voidfun();
#endif
在.c中加上
#ifdefFUNC_ENABLE
voidfun(){printf("OK ");}
#endif
当我们不想编译该函数时,加#if 1改为#if 0即可。
例子:
#include<stdio.h>
#if1
#defineFUNC_ENABLE
voidfun();
#endif
#ifdefFUNC_ENABLE
voidfun(){printf("OK ");}
#endif
intmain(void){
fun();
return0;
}
❿ 如何利用C++进行不定输入编程,即输入两个或三个整型数据的编译方法。PS:本人初学C++,希望指点一下。
先问自己,如果你是用户,你怎么告诉电脑,你的数据输入完毕。
比如我有100个数据,我怎么输入?一个数字一个空格?当打完100个之后,我要怎么告诉电脑我打完了?这个问题是你先要解决的。
那么一个办法就是,用数据数量来判定,就像你的方法。
另外就是每次都问是否结束,不过100次提问似乎太愚蠢了。
或者某个特定的字符来结束。
但是不管哪种方法,只要有一种方法,那么你就可以通过这种方法来自行判断有多少个数据进来。什么时候结束。而不用if(==2)。。。else if(==3)。。。else if()。。。。。
比如你的方法,可以不用if()else。
当你拿到数据数量为n的时候,可以用for来实现输入,比如:
int a[255];
for (int i=0; i<n; i++)
{
cin>>a[i];
}
max(a);