สมมติว่าเราต้องการสร้างคลาส Triangle หนึ่งคลาส และคลาสย่อยอีกคลาสชื่อ Isoceles คลาสสามเหลี่ยมมีฟังก์ชันที่พิมพ์ว่าวัตถุนั้นเป็นประเภทสามเหลี่ยม และหน้าจั่วมีสองฟังก์ชันเพื่อแสดงว่าเป็นรูปสามเหลี่ยมหน้าจั่วและหนึ่งคำอธิบาย เรายังต้องเรียกใช้ฟังก์ชันคลาสพาเรนต์ผ่านอ็อบเจ็กต์คลาส Isoceles ไม่มีการป้อนข้อมูลที่ถูกต้อง เราเพียงแค่เรียกใช้ฟังก์ชันต่างๆ อย่างเหมาะสม
ดังนั้น หากอินพุตเหมือนกับกำหนดวัตถุที่เรียกว่า trg ให้เรียก trg.isosceles(), trg.description(), trg.triangle() ผลลัพธ์จะเป็น
นี่คือสามเหลี่ยมหน้าจั่ว
มีสองด้านเท่ากันในรูปสามเหลี่ยมหน้าจั่ว
นี่คือรูปสามเหลี่ยม
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
กำหนดคลาส Triangle แรกด้วยฟังก์ชัน Triangle() สาธารณะ/มีการป้องกัน
-
กำหนดคลาสหน้าจั่วด้วยการสืบทอดสาธารณะซึ่งมีสองเมธอดที่เรียกว่า isosceles() และ description()
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <iostream> using namespace std; class Triangle{ public: void triangle(){ cout<<"This is a triangle" << endl; } }; class Isosceles : public Triangle{ public: void isosceles(){ cout<<"This is an isosceles triangle" << endl; } void description(){ cout<<"There are two sides are equal in an isosceles triangle" << endl; } }; int main(){ Isosceles trg; trg.isosceles(); trg.description(); trg.triangle(); }
อินพุต
Isosceles trg; trg.isosceles(); trg.description(); trg.triangle();
ผลลัพธ์
This is an isosceles triangle There are two sides are equal in an isosceles triangle This is a triangle