<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            趨勢科技的筆試題

            時間:2024-10-23 19:14:57 綜合指導 我要投稿
            • 相關推薦

            趨勢科技的筆試題

            1、#i nclude
            class A{
            public:
            A() {func(0);};
            virtual void func(int data) {printf("A1 :%d\n",data);}
            virtual void func(int data) const {printf("A2 :%d\n",data);}
            void func(char *str) {printf("A3 %s)\n",str);}
            };

            class B:public A{
            public:
            void func() {printf("B1 :%s\n","");}
            void func(int data) {printf("B2 :%d\n",data);}
            void func(char *str) {printf("B3 %s)\n",str);}
            };

            int main()
            {
            A *pA;
            B b;
            const A *pcA;

            pA=&b;
            pA->func(1);
            pA->func("test");
            A().func(1);
            pcA=&b;
            pcA->func(2);
            return 0;
            }

            程序運行的結果:
            A1 :0
            B2 :1
            A3 test)
            A1 :0
            A1 :1
            A2 :2

            1) 基類的指針指向派生類對象:那么該指針只能夠調用基類所定義的函數,但是如果該函數為虛函數,則調用該派生類自己的成員函數。(B2 :1)
            2) 如果以派生類的指針指向基類對象,則必須事先做明顯的轉型操作,但是這種做法很危險。

            2、#i nclude
            template
            void func(const int &t)
            {
            cout<}

            template
            void func(const T&t)
            {
            cout<}


            int main()
            {
            func(10.3);
            func(1000);

            return 0;
            }

            程序運行結果:
            10.3
            1000

            如果上述函數改為
            #i nclude

            void func(const int &t)
            {
            cout<}

            template
            void func(const T&t)
            {
            cout<}

            int main()
            {
            func(10.3);
            func(1000);

            return 0;
            }

            則程序的運行結果為:
            10.3
            1100

            如果使用函數的非模板形式,不能在前面加上template關鍵字。

            3、改錯:
            #i nclude

            class klass
            {
            public:
            klass(){}
            private:
            ~klass(){}
            void func(int n){
            cout<<"klass!!"< }
            public:
            void test()
            {
            func(100);
            }
            };

            int main()
            {
            klass k;
            k.test();

            return 0;
            }
            運行后程序顯示:error C2248: 'klass::~klass' : cannot access private member declared in class 'klass'
            證明析構函數的屬性必須為public。
            但是,如果把klass k改為klass* pk; pk=new klass; pk->test();程序通過,但是klass不能釋放.

            Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1483481

            【趨勢科技的筆試題】相關文章:

            趨勢科技筆試,筆經分享02-25

            校招創新工場,趨勢科技,金和軟件筆試11-21

            亞信科技技術類筆試題11-08

            網宿科技筆試題(研發類)02-25

            中國銀行筆試題回顧,新鮮筆經!11-21

            揚智(科技)筆試題目分享 ZZ11-21

            迅雷JAVA廣州站二筆筆試題目分享11-21

            2009年杭州聚光科技“機械”筆試題目02-18

            未來職場的趨勢11-22

            大唐移動測試工程師筆經,筆試題目分享11-21

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看