สมมติว่าเราต้องการสร้างคลาส 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