#include<iostream> using namespace std; class Base { int a; public: Base(int aa=0){a=aa;} void print(){cout<<a<<" ";} }; class Dervied :public Base { int b; public: Dervied(int aa=1,int bb=2):Base(aa) { b=bb; } void print() { cout<<b<<" "; } }; int main() { Dervied d1; Base *p=&d1; d1.print(); p->print(); return 0; }
时间: 2024-01-18 14:02:27 浏览: 132
#include <iostream> #include<iomanip> using namespace std;九九乘法表
这是一个简单的 C++ 代码,其中定义了两个类:Base 和 Derived。Derived 是从 Base 派生出来的,也就是说 Derived 类继承了 Base 类的成员变量和成员函数。
在 main 函数中,先定义了一个 Derived 类的对象 d1,然后定义了一个指向 Base 类的指针 p,并将 p 指向 d1 对象。接着分别调用了 d1 的 print 函数和 p 指向的对象的 print 函数。
需要注意的是,Derived 类中也定义了一个名为 print 的函数,它和 Base 类中的 print 函数同名,但参数列表不同。这种情况被称为函数重载。在调用 d1 的 print 函数时,会优先调用 Derived 类中的 print 函数,而不是从 Base 继承过来的 print 函数。而在调用 p 指向的对象的 print 函数时,由于 p 的类型是 Base 类型,因此只能调用从 Base 继承过来的 print 函数,不能调用 Derived 类中的 print 函数。
阅读全文