主頁(yè) > 教育培訓(xùn) > 電腦培訓(xùn) > C++軟件的學(xué)習(xí)小結(jié) 理解結(jié)構(gòu)化編程思維

C++軟件的學(xué)習(xí)小結(jié) 理解結(jié)構(gòu)化編程思維

       下面給大家介紹下C++軟件的學(xué)習(xí)小結(jié),希望可以幫到您哦!

  (4)對(duì)于類(lèi)的成員函數(shù),若指定其為const類(lèi)型,則表明其是一個(gè)常函數(shù),不能修改類(lèi)的成員變量;

  (5)對(duì)于類(lèi)的成員函數(shù),有時(shí)候必須指定其返回值為const類(lèi)型,以使得其返回值不為“左值”。

  一個(gè)基類(lèi)及其繼承類(lèi)的實(shí)現(xiàn):

  class Base

  {

  public:

  Base(const char *s=NULL);

  Base(const Base& rth);

  Base & operator=(const Base & oth);

  virtual ~Base();

  private:

  char *m_data;

  };

  Base::Base(const char* s)

  {

  if(s==NULL)

  {

  m_data=new char[1];

  m_data[0]='\0';

  }

  else

  {

  int length=strlen(s);

  m_data=new char[length+1];

  strcpy(m_data,s);

  }

  }

  Base::Base(const Base & oth)

  {

  int len=strlen(oth.m_data);

  m_data=new char[len+1];

  strcpy(m_data,oth.m_data);

  }

  Base & Base::operator=(const Base & oth)

  {

  if(this==&oth) return *this;

  delete []m_data;

  int len=strlen(oth.m_data);

  m_data=new char[len+1];

  strcpy(m_data,oth.m_data);

  return *this;

  }

  Base::~Base()

  {

  delete[] m_data;

  }

  class Derived : public Base

  {

  public:

  Derived(const char* s=NULL,int a=0);

  Derived(const Derived& oth);

  Derived& operator=(const Derived& oth);

  private:

  int m;

  };

  Derived::Derived(const char* s,int a):Base(s),m(a){ }

  Derived::Derived(const Derived& oth):Base(oth),m(oth.m){ }

  Derived& Derived::operator=(const Derived& oth)

  {

  if(this==&oth) return *this;

  Base::operator=(oth);

  m=oth.m;

  return *this;

  }

  C++編譯器不支持模板頭文件和實(shí)現(xiàn)代碼分離的編譯

  在分離式編譯的環(huán)境下,編譯器編譯某一個(gè).cpp文件時(shí)并不知道另一個(gè).cpp文件的存在,也不會(huì)去查找(當(dāng)遇到未決符號(hào)時(shí)它會(huì)寄希望于連接器)。這種模式在沒(méi)有模板的情況下運(yùn)行良好,但遇到模板時(shí)就不行,因?yàn)槟0鍍H在需要的時(shí)候才會(huì)具現(xiàn)化出來(lái),所以,當(dāng)編譯器只看到模板的聲明時(shí),它不能具現(xiàn)化該模板,只能創(chuàng)建一個(gè)具有外部連接的符號(hào)并期待連接器能夠?qū)⒎?hào)的地址決議出來(lái)。然而當(dāng)實(shí)現(xiàn)該模板的.cpp文件中沒(méi)有用到模板的具現(xiàn)體時(shí),編譯器懶得去具現(xiàn),所以,整個(gè)工程的.obj中就找不到一行模板具現(xiàn)體的二進(jìn)制代碼,于是連接器也傻了!

免責(zé)聲明:該文觀點(diǎn)僅代表作者本人,查查吧平臺(tái)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請(qǐng)發(fā)送郵件至85868317@qq.com舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。返回查查吧首頁(yè),查看更多>>
提示

該文觀點(diǎn)僅代表作者本人,查查吧平臺(tái)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請(qǐng)發(fā)送郵件至85868317@qq.com舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

優(yōu)惠商城

更多