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

news/2024/11/24 12:06:20/

在主函数中声明一个DerivedClass的对象,分别用DerivedClass的对象以及BaseClass和DerivedClass的指针来调用fn1(),fn2(),观察运行结果。

#include<iostream>using namespace std;class BaseClass
{
public:void fn1() const { cout<<"调用基类函数fn1()"<<endl; }void fn2() const { cout<<"调用基类函数fn2()"<<endl; }
};class DerivedClass :virtual public BaseClass
{
public:void fn1() const { cout<<"调用派生类函数fn1()"<<endl; }void fn2() const { cout<<"调用派生类函数fn2()"<<endl; }
};int main()
{DerivedClass a;a.fn1();a.fn2();BaseClass *c = &a;//对象指针在使用前一定要先进行初始化,让它指向一个已经声明过的对象然后再使用//BaseClass *c; 错误,程序崩溃c->fn1();c->fn2();DerivedClass *b = &a;b->fn1();b->fn2();
}

在这里插入图片描述
注意:在运用指针调用fn1(),fn2()时,一定要先对指针进行初始化,让它指向一个已经声明过的对象,然后在使用,否则直接使用会使得程序崩溃。通过对象指针可以访问到对象的公有成员。


http://www.ppmy.cn/news/542791.html

相关文章

1.定义一个基类 Base,有两个公有成员函数fn1( ),fn2 ( )。 私有派生出Derived类,如何通过Derived 类的对象调用基类的函数fnl() ?

老师布置的题目 1.定义一个基类 Base&#xff0c;有两个公有成员函数fn1( )&#xff0c;fn2 ( )。 私有派生出Derived类&#xff0c;如何通过Derived 类的对象调用基类的函数fnl() ? #include<iostream> using namespace std; class Base{ public:// Base(…

定义一个基类BAse,有两个公有成员函数fn1,fn2;私有派生出derived类,如何通过derived类的对象调用基类的函数fn1;

具体代码如下&#xff1a; #include <iostream> using namespace std; class Base{ //基类Base public:int fn1(){return 0;};int fn2(){return 0;}; }; class Derived:private Base{ //派生类Derived&#xff1b; public:int fn1(){return Base::fn1();}//返回Base类…

多态性练习:定义一个基类BaseClass,从他派生出类DerivedClass。BaseClass有成员函数 fn1(),fn2()

fn1&#xff08;&#xff09;是虚函数&#xff1b;DerivedClass也有成员函数 fn1()&#xff0c;fn2()。在主函数中声明一个DerivedClass的对象&#xff0c;分别用BaseClass和DerivedClass的指针指向DerivedClass的对象&#xff0c;并通过指针调用fn1()&#xff0c;fn2()&#x…

08 Python-函数(一)(二)

文章目录 1. 可变对象2.函数简介3. 函数的参数3.1 形参和实参3.2 函数的传递方式3.3 实参的类型3.4 不定长参数3.5 参数的解包 4.函数的返回值5.档字符串6.函数的作用域6.1. 作用域(scope)6.1.1 全局作用域6.1.2 函数作用域 7.递归函数7.1.递归式函数有2个条件7.2.递归经典练习…

处理 JavaScript 异步操作的几种方法总结

引言 js的异步操作&#xff0c;已经是一个老生常谈的话题&#xff0c;关于这个话题的文章随便google一下都可以看到一大堆。处理js的异步操作&#xff0c;都有一些什么方法呢&#xff1f;仁者见仁智者见智 一、回调函数 传说中的“callback hell”就是来自回调函数。而回调函…

leetcode1.两数之和

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【LeetCode】 &#x1f353;希望我们一起努力、成长&#xff0c;共同进步。 题目链接 给定一个整数数组 nums 和一个整数目标值 target&am…

Master PDF Editor(PDF编辑工具)v5.4.04中文免费版

Master PDF Editor是一款很方便的pdf编辑工具&#xff0c;可以对pdf文件中的文字、图片等内容进行编辑&#xff0c;并支持将PDF文件导出为多种图片格式 中文设置方法&#xff1a; 点击菜单Tools--> Settings-->Language-->Chinese-Simplified即是中文版本 软件特色&…

PDF编辑软件adobe acrobat pro 9中文版

教程&#xff1a; 1、下载软件包并解压得到下列文件&#xff0c;鼠标双击AcroPro.msi 2、点击下一步。 3、填写用户名、单位&#xff0c;安装软件已自动填写&#xff0c;如果你自己有可以自行填写。 4、继续默点击下一步&#xff0c;直到显示安装 5、等待安装。 6、安装完毕。…