Apabila melebihkan fungsi, hantar rujukan atau penuding, dan semua fungsi mesti menggunakan jenis data yang sama. Apabila fungsi ditulis semula, untuk fungsi ahli rujukan, fungsi subkelas mesti merujuk kepada jenis pembolehubah yang sama untuk menunjuk kepada fungsi ahli, fungsi subkelas mesti menunjuk kepada jenis pembolehubah yang sama.
Fungsi lebih muatan membolehkan penciptaan berbilang fungsi dengan nama yang sama tetapi senarai parameter berbeza dalam skop yang sama. Untuk rujukan dan petunjuk, kita perlu memberi perhatian kepada perkara berikut:
Apabila menghantar rujukan, semua fungsi mesti merujuk kepada jenis data yang sama:
void print(const int& num); void print(const double& d);
Apabila menghantar penunjuk, semua berfungsi mesti menunjuk kepada jenis data yang sama:
void print(int* num); void print(double* d);
Fungsi menulis semula sedang melaksanakan fungsi dalam kelas induk dengan nama dan senarai parameter yang sama dalam kelas anak. Untuk rujukan dan petunjuk, kita perlu memberi perhatian:
Untuk fungsi ahli rujukan, fungsi subkelas mesti merujuk kepada jenis pembolehubah yang sama:
class Parent { public: void setAge(const int& age); }; class Child : public Parent { public: void setAge(const int& age) override; // 同一类型引用 };
Untuk menunjuk kepada fungsi ahli, fungsi subkelas mesti tunjuk kepada jenis pembolehubah yang sama :
class Parent { public: int* getPtr(); }; class Child : public Parent { public: int* getPtr() override; // 同一类型指针 };
Andaikan kita mempunyai kelas setAge(const int& age)
dan setName(const string& name)
. Person
类,它表示一个人的年龄和名字。该类中有两个成员函数:setAge(const int& age)
和 setName(const string& name)
。
我们创建一个子类 Employee
,继承自 Person
类,并重写 setAge
函数,在将年龄设置为 age
之前将其加 5。
class Person { public: void setAge(const int& age); void setName(const string& name); }; class Employee : public Person { public: void setAge(const int& age) override; // 重写setAge函数 }; // Employee 类中的 setAge 函数 void Employee::setAge(const int& age) { Person::setAge(age + 5); // 调用父类setAge函数 }
现在,我们可以创建一个 Employee
对象并使用重写的 setAge
Orang
dan mengatasi fungsi setAge
untuk menetapkan umur kepada umur </ kod> sebelum menambah 5 padanya. 🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:cpp;toolbar:false;'>Employee emp;
emp.setAge(20); // 实际设置为 25</pre><div class="contentsignin">Salin selepas log masuk</div></div>🎜Kini, kita boleh mencipta objek <code>Pekerja
dan menggunakan fungsi setAge
yang diganti: 🎜rrreeeAtas ialah kandungan terperinci Pengendalian rujukan dan penunjuk dalam fungsi C++ membebankan dan menulis semula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!