📄 ninherit.cpp
字号:
//: C14:Ninherit.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 1999
// Copyright notice in Copyright.txt
// Non-inherited functions
#include <fstream>
using namespace std;
ofstream out("ninherit.out");
class Root {
public:
Root() { out << "Root()\n"; }
Root(Root&) { out << "Root(Root&)\n"; }
Root(int) { out << "Root(int)\n"; }
Root& operator=(const Root&) {
out << "Root::operator=()\n";
return *this;
}
class Other {};
operator Other() const {
out << "Root::operator Other()\n";
return Other();
}
~Root() { out << "~Root()\n"; }
};
class Derived : public Root {};
void f(Root::Other) {}
int main() {
Derived d1; // Default constructor
Derived d2 = d1; // Copy-constructor
//! Derived d3(1); // Error: no int constructor
d1 = d2; // Operator= not inherited
f(d1); // Type-conversion IS inherited
} ///:~
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -