美文网首页
C++继承练习3

C++继承练习3

作者: 科学旅行者 | 来源:发表于2016-12-03 19:59 被阅读3次

参考资料:《C++Primer习题集(第5版)》

目的:理解每个print函数的机制。
话说这感觉有点儿像打草稿。。。

#include <iostream>
#include <cstring>
#include <algorithm>
#include <string>
using namespace std;

//class Base {
//  public:
//      string name() const {return basename;}
//      virtual void print(ostream &os) {os << basename;}
//  private:
//      string basename = "xyz";
//};
/*
class Derived : public Base {
    public:
        void print(ostream &os) {os << "xyz" << endl; print(os); os << " " << mem;}//没有声明Derived是从Base派生过来的;
    private:
        int mem;
};
*/

class Base {
    public:
        Base(string s) : basename(s) {}//初始化构造器;
        string name() const {return basename;}
        virtual void print(ostream &os) {os << basename << endl;}
    private:
        string basename;
};

class Derived : public Base {
    public:
        Derived(string s, int ival) : Base(s), mem(ival) {}//调用基类的构造函数;
        void print() {Base::print(cout); cout << mem << endl;}//声明Derived是从Base派生过来的;
    private:
        int mem;
};

int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    Base *b = new Base("ab");
    b -> print(cout);//xyz;
    Derived *d = new Derived("cd", 12);
    d -> print();
    delete b;
    delete d;
    return 0;
}

相关文章

  • C++继承练习3

    参考资料:《C++Primer习题集(第5版)》 目的:理解每个print函数的机制。话说这感觉有点儿像打草稿。。。

  • Geekband-job3-note

    1、继承 C++类的3种继承方式,分别是public继承,protected继承,private继承。最常用的还是...

  • C++继承练习2

    参考资料:《C++Primer(第5版 )》 练习目的:虚函数与作用域。

  • C++继承练习4

    参考资料:《C++ Primer习题集(第5版)》 目的:练习虚函数的构造。Quote: 基类,提供基本的购书规则...

  • C++继承练习5

    参考资料:《C++Primer习题集(第5版)》 目的:练习继承层次的构造。

  • C++继承练习1

    参考资料:《C++Primer习题集(第5版)》 主要目的:熟悉虚函数、虚成员的定义,基类与派生类的关系。

  • Java 基础 - 继承

    参考 C++多继承有什么坏处,Java的接口为什么可以摈弃这些坏处?C++多继承(钻石继承)的问题和解决C++继承...

  • 第十三章 类继承(4)c++的三种继承方式

    (四)c++的三种继承方式 c++有三种继承方式,分别是公有继承,私有继承和保护继承。 (1)公有继承 这是最常用...

  • 8-C++远征之继承篇-学习笔记

    C++远征之继承篇 开篇介绍 整个C++远征计划: 起航->离港->封装->继承 为什么要用继承? 为什么要有继承...

  • JAVA核心技术总结(五六章)继承&接口与内部类

    第五章 继承 在Java中,所有的继承都是公有继承,没有C++的私有继承和保护继承 Java同C++一样,子类不能...

网友评论

      本文标题:C++继承练习3

      本文链接:https://www.haomeiwen.com/subject/ocvcmttx.html