<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ``` #include <stdlib.h> #include <string> * /** * 對象結構 * * 內存分區 * * 棧區: * int x=0; int *p=NULL * 系統自動釋放內存 * * 堆區: * int *p=new int[20] * 需要自己釋放內存 delete p []p p=NULL * * 全局區: * 存儲全局變量及靜態變量 * * 常量區: * string str="hello"; * * 代碼區: * 存儲編譯后的二進制邏輯代碼 * * * 對象初始化(分兩種) * 有且僅有一次 * 根據條件初始化 * * 思考:初始化函數如何避免誤操作 * 忘記調用了初始化函數 * 重復調用了初始化函數 * * 構造函數的規則和特點 * 構造函數在對象實例化時被自動調用 * 構造函數與類同名 * 構造函數沒有返回值 * 構造函數可以有多人重載形式 * 當用戶沒有定義構造函數時,編譯器自動生成一個構造函數,但這構造函數是空的,什么都不做 * * * */ class Car{ private: int wheelCount; public: int getWheelCount(){ return wheelCount; } }; class Tank{ private: int m_int_posX; int m_int_posY; public: //初始化 void init(){ m_int_posX=0; m_int_posY=0; } }; /** * 構造函數 * @return */ class Student{ public: // 無參構造函數 Student(){ m_str_name="jim"; }; // 有參構造函數 Student(string _name){ m_str_name=_name; }; private: string m_str_name; }; int main(){ Tank t1; t1.init(); Tank t2; t2.init(); return 0; } ``` ***** 代碼示例: 1.`Teacher.h`代碼 ``` #include <string> using namespace std; class Teacher{ public: // 無參構造函數 Teacher(); // 帶參構造函數及參數可附默認值 Teacher(string _name,int _age=23); //設置名字 void setName(string _name); //獲取名字 string getName(); //設置性別 void setGender(string _gender); //獲取性別 string getGender(); //設置年齡 void setAage(int _age); //獲取年齡 int getAage(); //教學 void teach(); private: //變量:名字 string m_str_name; //變量:性別 string m_str_gender; //變量:年齡 int m_int_age; }; ``` ***** 2.`Teacher.cpp`代碼 ``` #include "Teacher.h" #include <iostream> using namespace std; Teacher::Teacher() { m_str_name="Jim"; m_int_age=5; cout<<"Teacher()"<<endl; } Teacher::Teacher(string _name, int _age) { m_str_name=_name; m_int_age=_age; cout<<"Teacher(string _name, int _age)"<<endl; } void Teacher::setName(string _name) { m_str_name=_name; } string Teacher::getName() { return m_str_name; } void Teacher::setGender(string _gender) { m_str_gender=_gender; } string Teacher::getGender() { return m_str_gender; } void Teacher::setAage(int _age) { m_int_age=_age; } int Teacher::getAage() { return m_int_age; } void Teacher::teach() { cout<<" 現在正在上課"<<endl; } ``` ***** 3.`main.cpp`代碼 ``` #include <iostream> #include <stdlib.h> #include "Teacher.h" using namespace std; /** * 定義一個Teacher類,要求分別采用同文件類外定義和分文件類外定義 * 的方式完成,具體要求如下: * 數據成員: * 名字 * 年齡 * 性別 * 成員方法 * 數據成員的封裝函數 * 授課teach * */ //class Teacher{ // public: // //設置名字 // void setName(string _name); // //獲取名字 // string getName(); // //設置性別 // void setGender(string _gender); // //獲取性別 // string getGender(); // //設置年齡 // void setAage(int _age); // //獲取年齡 // int getAage(); // //教學 // void teach(); // // private: // //變量:名字 // string m_str_name; // //變量:性別 // string m_str_gender; // //變量:年齡 // int m_int_age; //}; //void Teacher::setName(string _name) { // m_str_name=_name; //} // //string Teacher::getName() { // return m_str_name; //} // //void Teacher::setGender(string _gender) { // m_str_gender=_gender; //} // //string Teacher::getGender() { // return m_str_gender; //} // //void Teacher::setAage(int _age) { // m_int_age=_age; //} // //int Teacher::getAage() { // return m_int_age; //} // //void Teacher::teach() { // cout<<" 現在正在上課"<<endl; //} int main(){ // Teacher t; // t.setName("孔乙已"); // t.setGender("男"); // t.setAage(35); // cout<<t.getName()<<" "<<t.getAage()<<" "<<t.getGender(); // t.teach(); Teacher t1; Teacher t2("Jack",20); Teacher t3("James"); cout<<t1.getName()<<" "<<t1.getAage()<<endl; cout<<t2.getName()<<" "<<t2.getAage()<<endl; cout<<t3.getName()<<" "<<t3.getAage()<<endl; return 0; } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看