自考新教材-p252

基类引用实现多态

源程序:

#include <iostream>

using namespace std;

class A

{

  public:

  virtual void Print()

   {

    cout << "A::Print" << endl;

  }

};

class B :public A

{

public:

  virtual void Print()

  {

    cout << "B::print" << endl;

  }

};

void PrintInfo(A &r)

{

  r.Print();

}

int main()

{

  A a;

  B b;

  PrintInfo(a);

  PrintInfo(b);

  system("pause");

  return 0;

}

原文地址:https://www.cnblogs.com/duanqibo/p/12181922.html

时间: 2024-10-21 06:39:13

自考新教材-p252的相关文章

自考新教材-p161

源程序: #include<iostream>using namespace std; class pointer{public: int a; int *p; //指向整型数的指针 pointer() { a=100; p=new int(10); } pointer(const pointer &tempp) //复制构造函数 { if(this != &tempp) { a=tempp.a; p=new int(); *p=*tempp.p; } } ~pointer()

自考新教材--p40

源程序:   各种数据类型的转换 #include <iostream> using namespace std; int main() { const int cInt = 30; int oneInt = 50; int &ref = oneInt; const int &rc1 = cInt; const int &rc2 = oneInt; const int &rc3 = ref; int dInt = ref; int eInt = cInt; in

自考新教材--p39

源程序: using namespace std; int main() { int oneInt = 1; int &ref = oneInt; const int &refc = oneInt;  //定义常引用 ref = 2;  //修改ref也即修改了oneInt cout << "oneInt=" << oneInt << "," << "ref=" << r

自考新教材--p49

源程序: #include <iostream> #define N 5 using namespace std; void insert_sort(int a[], int n)   //直接插入排序 { int i, j, temp; for (i = 1; i < n; i++) { temp = a[i]; j = i - 1; while (j >= 0 && temp < a[j]) { a[j + 1] = a[j]; j--; } a[j +

自考新教材--p179

源程序: #include <iostream> using namespace std; class BaseClass { public: int v1, v2; BaseClass() { v1 = 1; v2 = 1; } int temp1() {} }; class DerivedClass :public BaseClass { int v1; int temp1() {} public: DerivedClass() { v1 = 10; } void printv() { c

自考新教材-p250

用基类指针访问基类对象及派生类对象 源程序: #include <iostream> #include <string> using namespace std; class A { public: void put_name(string s) { name = s; } virtual void print_name() const { cout << "A::" << name << "\n"; }

自考新教材-p253

多态机制下对象存储空间的大小 源程序: #include <iostream> using namespace std; class A { public: int i; virtual void func(); virtual void func2(); }; class B :public A { int j; void func() {} }; int main() { cout << sizeof(A) << "," << siz

自考新教材-p255

使用多态处理图形示例 源程序: #include <iostream> #include <cmath> using namespace std; class CShape { protected: double acreage; public: CShape() { //cout<<"基类构造函数"<<endl; }; virtual ~CShape() { //cout<<"基类析构函数"<<

自考新教材-p228

互包含的类 源程序: #include<iostream> #include<string> using namespace std; class B; class A { public: int aInt; B *bPoint=NULL; void SetValue(int v) { aInt=v; } }; class B { public: A aCla; int bInt; void SetValue(int v) { bInt=v; } }; int main() { A