Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F85750407
abstract_class.hh
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Oct 1, 21:08
Size
539 B
Mime Type
text/x-c++
Expires
Thu, Oct 3, 21:08 (2 d)
Engine
blob
Format
Raw Data
Handle
21261457
Attached To
R9360 PCSC_git
abstract_class.hh
View Options
#include <iostream>
class Animal {
public:
Animal(std::string name) { this->name = name; }
virtual void scream() = 0;
protected:
std::string name;
};
class Cat : public Animal {
public:
Cat(const std::string &name) : Animal(name){};
void scream() override { std::cout << name << ": MIAOU\n"; }
};
void makeItScream(Animal &a) { a.scream(); }
int main() {
// this will lead to compilation error
Animal a("kitty");
Cat c("kitty"); // ok
Animal *ptr = &c; // ok
Animal &ref = c; // ok
makeItScream(c); // ok
}
Event Timeline
Log In to Comment