一定义一个基类BaseClass,从它派生出类DerivedClass。BaseClass有成员函数fn1(),fn2(),DerivedClass也有成员函数fn1(),fn2()。在主函数中声明对

#include<iostream>

#include<string>

class BaseClass

public:

 std::string name;

 int ages;

public:

 BaseClass(int a, std::string n)

 {

  name = n;

  ages = a;

 }

 virtual void fnl1(){std::cout << name << std::endl;};

 virtual void fnl2()

 {std::cout << ages << std::endl;};

};

class DerivedClass :public BaseClass

{

public:

 DerivedClass(int a, std::string n) :BaseClass(a, n)

 {

  ages = a;

  name = n;

 }

 void fnl1() override { std::cout << name << std::endl; };

 void fnl2()override {std::cout << ages << std::endl;};

};

int main()

{

 BaseClass A(12, "FIRST");

 BaseClass* P=&A;

 A.fnl1();

 A.fnl2();

 DerivedClass B(60, "SECOND");

 BaseClass* p = &B;

 p->fnl1();

  p->fnl2();

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: baseclass是一个基类,从它派生出类derivedclassbaseclass成员函数fn1()、fn2(),derivedclass也有成员函数fn1()、fn2()。在主程序定义一个……(题目未完整,无法回答完整问题)。 ### 回答2: 基类派生类是面向对象编程非常重要的概念。基类是通用的类,可以被多个类继承,派生类则是由基类派生而来的类,具有基类的特性和行为,并可以扩展基类的功能。 在这个问题,我们需要定义一个基类baseclass,并从它派生出类derivedclassbaseclass包含了成员函数fn1()和fn2(),derivedclass同样也包含了成员函数fn1()和fn2()。 下面是一个示例代码: ```c++ #include <iostream> using namespace std; class baseclass { public: void fn1() { cout << "This is baseclass's fn1." << endl; } void fn2() { cout << "This is baseclass's fn2." << endl; } }; class derivedclass : public baseclass { public: void fn1() { cout << "This is derivedclass's fn1." << endl; } void fn2() { cout << "This is derivedclass's fn2." << endl; } }; int main() { derivedclass d; d.fn1(); d.fn2(); return 0; } ``` 在这个示例代码,我们定义了一个名为baseclass基类,并声明了两个成员函数fn1()和fn2()。然后我们通过在derivedclass使用public关键字来继承baseclass,这样derivedclass就可以使用baseclass成员函数了。在derivedclass重新定义了fn1()和fn2()函数,实现了这两个函数的扩展功能。 在主程序,我们定义了一个derivedclass的对象d,并分别调用了fn1()和fn2()函数。运行程序,将输出以下结果: ``` This is derivedclass's fn1. This is derivedclass's fn2. ``` 说明派生类重写的函数覆盖了基类的同名函数,从而实现了重载。这就是面向对象编程继承的一个很好的例子。 ### 回答3: 基类派生类是面向对象编程的重要概念,它们的设计可以提高代码复用性、可维护性和代码的可扩展性。现在我们来定义一个基类BaseClass,它有两个成员函数fn1()和fn2()。 首先,在C++,我们需要使用class关键字来定义一个类,然后在这个类的私有成员定义函数。BaseClass的定义如下: class BaseClass{ private: void fn1(); void fn2(); }; 其fn1()和fn2()的具体实现我们可以在类外进行定义。 接着,我们需要从BaseClass派生出一个DerivedClass类,我们可以使用public关键字将BaseClass的所有成员都继承到DerivedClass。如下定义: class DerivedClass: public BaseClass{ public: void fn1(); void fn2(); }; DerivedClass同样包含fn1()和fn2(),这两个函数会覆盖BaseClass的同名函数。如果需要在DerivedClass调用BaseClass的同名函数,可以使用作用域解析符号"::",例如BaseClass::fn1(),表示调用BaseClassfn1()函数。 最后,在主程序,我们可以定义一个DerivedClass的对象,并调用对象的成员函数。例如: int main(){ DerivedClass derivedObj; derivedObj.fn1(); derivedObj.fn2(); } 这样就可以通过DerivedClass继承并重写BaseClass的函数,实现我们需要的功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值