slice.cpp
来自「Thinking in C++ 2nd edition source code 」· C++ 代码 · 共 35 行
CPP
35 行
//: C15:Slice.cpp
// From Thinking in C++, 2nd Edition
// at http://www.BruceEckel.com
// (c) Bruce Eckel 1999
// Copyright notice in Copyright.txt
// Object slicing
#include <iostream>
using namespace std;
class Base {
int i;
public:
Base(int I = 0) : i(I) {}
virtual int sum() const { return i; }
};
class Derived : public Base {
int j;
public:
Derived(int I = 0, int J = 0)
: Base(I), j(J) {}
int sum() const { return Base::sum() + j; }
};
void call(Base b) {
cout << "sum = " << b.sum() << endl;
}
int main() {
Base b(10);
Derived d(10, 47);
call(b);
call(d);
} ///:~
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?