您的位置:首页 > 编程语言 > C语言/C++

[C++学习笔记]继承

2010-03-08 20:03 267 查看
1.基本的继承

 
class Pet
{
public:
void eat();
void sleep();
void SetName(std::string thename);
std::string name;
};

class Cat:public Pet
{
public:
void climb();
};

class Dog:public Pet
{
public:
void bark();
};


 

2.继承中的构造器和析构器

    如果基类有一个构造器,比如Pet(),它在创建Cat类型的对象时最先被调用,这将发生在其他任何事情之前。如果Cat类也有一个构造器,它将排在第二个被调用。

    与构造器的情况刚好相反,基类的析构器将在子类的最后一条语句执行完毕之后才被调用。

 

3.覆盖方法

    某些场合,基类提供一个通用函数,但某个子类里需要改变该方法的实现。

class Pet
{
public:
Pet(std::string theName);//constructor
void eat();
void sleep();
void play();
std::string name;
};

void Pet::play()//general function
{
std::cout<<name<<"is playing/n";
}

void Cat::Play()//changed(overrided) function
{
Pet::play();
std::cout<<name<<"catches a bll of wool/n";
}


 

4.友元关系
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ string class function