程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 關於C++一些特征的探討

關於C++一些特征的探討

編輯:關於C++

關於C++一些特征的探討。本站提示廣大學習愛好者:(關於C++一些特征的探討)文章只能為提供參考,不一定能成為您想要的結果。以下是關於C++一些特征的探討正文


在進修c++的進程中,也已經進修java,就發明java有類的嵌套,而看的c++的書,歷來沒有哪一個講c++的類可以嵌套,因而就試了一下,看能否c++可以嵌套類(編譯情況vc++6.0)

因而有了上面的代碼:

#include <iostream>
using namespace std;
class A
{
public:
  A(){
    cout<<"this a"<<endl;
  }
  ~A(){cout<<"a dead"<<endl;}
  class B
  {
  public:  
    B(){cout<<"this b"<<endl;}
    ~B(){cout<<"b dead"<<endl;}
  };
  B b;
};
class c:public A
{
};
int main(int argc, char * argv[])
{
  A a;
  return 0;
}

成果是准確的,那末看來c++是支撐嵌套類的,至多vc++6.0是支撐的

那末B類能否可使用呢?因而有了上面的代碼:

#include <iostream>
using namespace std;
class A
{
public:
  A(){
    cout<<"this a"<<endl;
  }
  void getA(){cout<<"i am getA()"<<endl;}
  ~A(){cout<<"a dead"<<endl;}
  class B
  {
  public:  
    B(){cout<<"this b"<<endl;}
    ~B(){cout<<"b dead"<<endl;}
    void getB(){cout<<"i am getB()"<<endl;}
    
  };
  B b;
};
int main(int argc, char * argv[])
{
  A a;
  a.b.getB();
    A::B b;
    b.getB();
  return 0;
}

成果能勝利挪用getB()辦法,著可以直接證實這個類正的被准確辨認了,好了,那我們看能否B能繼續其余類呢?因而有了上面的代碼:

#include <iostream>
using namespace std;
class A
{
public:
  A(){
    cout<<"this a"<<endl;
  }
  void getA(){cout<<"i am getA()"<<endl;}
  ~A(){cout<<"a dead"<<endl;}
  class B:public A
  {
  public:  
    B(){cout<<"this b"<<endl;}
    ~B(){cout<<"b dead"<<endl;}
    void getB(){cout<<"i am getB()"<<endl;}
    
  };
  B b;
};

int main(int argc, char * argv[])
{
  A a;
  a.b.getB();
  A::B b;
    b.getD();
  return 0;
}

好了卻果說A不決義,好吧,那我們從界說一個類,以下:

#include <iostream>
using namespace std;
class D
{
public:
  void getD()
  {
    cout<<"i am getD()"<<endl;
  }
};
class A
{
public:
  A(){
    cout<<"this a"<<endl;
  }
  void getA(){cout<<"i am getA()"<<endl;}
  ~A(){cout<<"a dead"<<endl;}
  class B:public D
  {
  public:  
    B(){cout<<"this b"<<endl;}
    ~B(){cout<<"b dead"<<endl;}
    void getB(){cout<<"i am getB()"<<endl;}
    
  };
  B b;
};
int main(int argc, char * argv[])
{
  A a;
  a.b.getB();
  a.getA();
  a.b.getD();
  A::B b;
  b.getB();
  b.getD();
  return 0;
}

成果也是准確的,看來類B是可以繼續其他類的,也有那些繼續關系。

結論:

我們剖析到c++是可以停止類嵌套的,而且可以像正常類一樣操作它,除不克不及繼續嵌套它的類,今朝還沒發明有其它特征,有興致的可以驗證一下匿名類能否可以在c++被許可。

以上這篇關於C++一些特征的探討就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved