精华内容
下载资源
问答
  • 以下程序输出结果是____。

    千次阅读 2017-08-01 16:27:24
    以下程序输出结果是__。class A { public: virtual void func(int val = 1) { std::cout<<"A->";} virtual void test() { func();} }; class B : public A { public: void func(int val=0

    以下程序输出结果是__

    class A
    {
    public:
        virtual void func(int val = 1)
        { std::cout<<"A->"<<val <<std::endl;}
        virtual void test()
        { func();}
    };
    class B : public A
    {
    public:
        void func(int val=0)
    {std::cout<<"B->"<<val <<std::endl;}
    };
    int main(int argc ,char* argv[])
    {
        B*p = new B;
        p->test();
    return 0;
    }

    正确答案: B

    A、A->0
    B、B->1
    C、A->1
    D、B->0
    E、编译出错
    F、以上都不对

    正确答案:B

    记住:virtual 函数是动态绑定,而缺省参数值却是静态绑定。 意思是你可能会 在“调用一个定义于派生类内的virtual函数”的同时,却使用基类为它所指定的缺省参数值。
    结论:绝不重新定义继承而来的缺省参数值!(可参考《Effective C++》条款37)
    对于本例:

    B*p = newB;
    p->test();

    p->test()执行过程理解:
    (1) 由于B类中没有覆盖(重写)基类中的虚函数test(),因此会调用基类A中的test();
    (2) A中test()函数中继续调用虚函数 fun(),因为虚函数执行动态绑定,p此时的动态类型(即目前所指对象的类型)为B*,因此此时调用虚函数fun()时,执行的是B类中的fun();所以先输出“B->”;
    (3) 缺省参数值是静态绑定,即此时val的值使用的是基类A中的缺省参数值,其值在编译阶段已经绑定,值为1,所以输出“1”;
    最终输出“B->1”。所以大家还是记住上述结论:绝不重新定义继承而来的缺省参数值!

    展开全文
  • #include<stdio.h> main() { char ch; int i; for(i=0;i<26;i++) { ch=i+65; if(i%2==0) printf("\n"); printf("c=%c ASCII=%d ",ch,ch); } putchar('\n'); } c=A ASCII=65 c=B ASCII=...c=G
    #include<stdio.h>
    main()
    {
    	char ch;
    	int i;
    	for(i=0;i<26;i++)
    	{
    		ch=i+65;
    		if(i%2==0)
    			printf("\n");
    		printf("c=%c ASCII=%d ",ch,ch);
    	}
    	putchar('\n');
    }
    
    
    c=A ASCII=65 c=B ASCII=66
    c=C ASCII=67 c=D ASCII=68
    c=E ASCII=69 c=F ASCII=70
    c=G ASCII=71 c=H ASCII=72
    c=I ASCII=73 c=J ASCII=74
    c=K ASCII=75 c=L ASCII=76
    c=M ASCII=77 c=N ASCII=78
    c=O ASCII=79 c=P ASCII=80
    c=Q ASCII=81 c=R ASCII=82
    c=S ASCII=83 c=T ASCII=84
    c=U ASCII=85 c=V ASCII=86
    c=W ASCII=87 c=X ASCII=88
    c=Y ASCII=89 c=Z ASCII=90
    
    展开全文
  • 例子1:   静态方法优先于主方法,且执行一次 构造块,只要建立一个对象就会执行一次 输出结果: static block instance1 block instance2     例子2: ...

    例子1:

      

    静态方法优先于主方法,且执行一次

    构造块,只要建立一个对象就会执行一次

    输出结果:

    static

    block

    instance1

    block

    instance2

     

     

    例子2:

    展开全文
  • 6、以下程序输出结果为答:publicclassTom{privatefloatweight;privatestaticStringname;publicvoidsetWeight(floatweight){this.weight=weight;}privatevoidout(){System.out.prin...6、以下程序输出结果为答:...

    6、以下程序的输出结果为答:publicclassTom{privatefloatweight;privatestaticStringname;publicvoidsetWeight(floatweight){this.weight=weight;}privatevoidout(){System.out.prin...

    6、以下程序的输出结果为答:

    publicclass Tom {

    privatefloatweight;

    privatestatic String name;

    publicvoid setWeight(float weight) {

    this.weight = weight;

    }

    privatevoid out() {

    System.out.println(name + "体重:" + weight + "斤");

    }

    publicstaticvoid main(String[] args) {

    Tom.name = "汤姆猫";

    Tom cat = new Tom();

    cat.setWeight(20);

    cat.out();

    }

    }

    7、下列程序的运行结果是答:

    publicclass MyClass {

    inta[] = { 1, 2, 3, 4, 5 };

    void out() {

    for (int j = 0; j < a.length; j++)

    System.out.print(a[j] + "");

    }

    publicstaticvoid main(String[] args) {

    MyClass my = new MyClass();

    my.out();

    }

    }

    8.以下程序的输出结果为答:

    classStringTest1

    {

    public static void main(String[] args)

    {

    String s1="hello";

    String s2=new String("hello");

    if(s1.equals(s2)){

    System.out.println("相等");

    }else{

    System.out.println("不相等");

    }

    }

    }

    展开

    展开全文
  • 1、以下程序输出结果为答:classA{doublex=10;protecteddoubley=12;}classBextendsA{inty=0;voidg(){intx=10;x=x+1;y=y+100;System.out.println("x="+x);System.out.println("y="+y...1、以下程序输出结果为答:...
  • java请实现程序输出以下星塔||输出菱形 请实现程序输出以下星塔。 * *** ***** *** * 需要在main函数的输入参数中设置5,输出5层星塔。如果是输入7,则是7层星塔。假设输入参数都是奇数,且都...
  • 以下程序段的输出结果为()。 for(i=4;i>1;i--) for(j=1;j;j++) putchar('#'); A:无 B:###### C:# D:###
  • 以下程序输出结果是:

    千次阅读 2018-11-21 23:31:50
    以下程序输出结果是: #include “stdio.h” main() {char *s,*s1=“here is”,*s2=“key”; s=s1; while (*s1!=’\0’) s1++; while (*s1++!=*s2++) s2=s; while (*s2!=’\0’) s2++; printf ("%d-%d=%d\n&...
  • 以下程序输出结果为 class Base{ public Base(String s){ System.out.print("B"); } } public class Derived extends Base{ public Derived (String s) { System.out.print("D"); } p...
  • 请实现程序输出以下5*5数字方格。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 需要在main函数的输入参数中设置5,输出5*5的数字方格。如果是输入7,则是7*7的数字方格。 代码如下:...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 我遇到了以下程序class Boolean {public static void main(String argv[]) {boolean x;...}}以下程序输出为false但是,如果我们以下列方式编写程序,那么class Boolean {public static void main(String argv[]) {...
  • 程序输出自己

    2017-12-26 16:23:29
    看到一个挺有意思的例子,用sys实现程序自己输出自己,由于sys.argv[0]为Python的脚本名,所以在程序中将sys.argv[0]作为要读取的文件就能实现程序输出自己。以下是代码:''' 功能:程序输出自己(out_put_self) '...
  • 以下程序用于打印输出结构体数组的所有元素。 struct s { char name[10]; int age; } main() { struct s a[3] = {”John”,19,”Paul”,17,”Marry”,18}; int *p; for(p = a; p < 3; p++) { printf("%s,%d\n", ...
  • 以下程序输出结果是( ) # include<stdio.h> subl(char a,char b) {char c;c=a;a=b;b=c;} sub2(char *a,char b){ char c;c=*a;*a=b;b=c;} sub3(char *a,char *b) { char c;c=*a;*a=*b...
  • import java.util.Scanner; public class start { public static void main(String[] args) { Scanner s=new Scanner(System.in); int du=s.nextInt(); howmuchstart(du);...public static void howmuchstart(int a) {...
  • 【C语言】编写程序输出以下图形

    千次阅读 2019-11-22 14:26:00
    编写程序输出以下图形: * ** *** **** ***** 代码: #include <stdio.h> int main() { int i, j; for (i = 1; i <= 5; i++) { for (j = 1; j <= i; j++)/*内层循环控制每行输出*字符的个数*/ .....
  • 下列程序输出内容为什么?(A) 30 , (B) 100 , (C) 0 ,(D) 编译错误
  • for(i=4;i>1;i–) for(j=1;j<i;j++) putchar(’#’); 答案:###### 解析:内部循环完了之后再进行外部循环,第二次外部循环的时候...putchar:c语言函数之一,作用是向终端输出一个字符,这里一共循环输出6次 ...
  • 以下程序输出结果是( )。 using System; namespace HoverTreeTikuConsole { class Program { static void Main(string[] args) { MyStruct s1 = new MyStruct(1, 2); s1.x = 2; s1.Sum(); ...
  • 编写一个程序输出以下图案

    万次阅读 2016-10-23 20:36:21
    编写一个程序输出以下图案   *   ***  *****  *******  *********  *********** *************  ***********  *********  *******  *****   ***  * #include int
  • public class A { public static void prt(){ System.out.println("1"); } public A(){ System.out.println("A"); } } public class B extends A{ /** ...public static void prt
  • 要想输出结果为6,改成: import java.math.BigInteger; public class Test { public static void main(String[] args) throws NumberFormatException{ BigInteger one = new BigInteger("1...
  • void ss (char *s,char t) { while (*s) { if(*s==t) *s=t-‘a’+’A’; s++; } } void main() { char str1[100]=“abcddfefdbd”,c=‘d’; ss (str1,c); printf ("%s\n",str1); } ABCDDEFEDBD ...Abcd...
  • k=3,2,1,0 1+2+3+4=10
  • import java.util.*; /**  * Description:  * 网站: 疯狂Java联盟 ...------------------------------------------------------------------StringBuffer面试题-------------------------...输出结果:AB,B
  • package com.njue.mis; import java.util.*; public class Test { public static void main(String[] args){ Queue queue = new PriorityQueue(10, ...public int compare(Integer i,Integer j

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,054
精华内容 5,621
关键字:

以下程序输出