C++快速入门---this指针和类的继承(10)

C++快速入门---this指针和类的继承(10)

 

this是一个特殊的指针

class Human {

   char fishc;

   Human(char fishc);

}

Human::Human(char fishc){

   fishc = fishc;

}

"fishc = fishc",怎样才能让构造器知道哪个是参数,哪个是属性呢?

用到它了 - this指针(指向当前的类生成的对象

this->fishc = fishc

现在编译器就懂了,赋值操作符的左边将被解释为当前对象的fishc属性,右边将被编译器解释为构造器的传入来的fishc参数。

 

 

继承

假设我们有一只乌龟和一只猪,它们都有一些共同特征:例如都有嘴巴会吃东西,都睡觉,都会流口水。它们有不同的地方:例如乌龟会游泳,猪会爬树。

基类是可以派生出其他的类,也称为父类超类。比如这里的Animal是基类。

子类是从基类派生出来的类,比如这里的Trutle类和Pig类是子类,

继承的语法:

class SubClass : public SuperClass {...}

 

代码如下:

#include <iostream>
#include <string>

class Animal//基本 
{
public:
	std::string mouth;//嘴巴
	
	void eat();
	void sleep();
	void drool();//流口水	
};

//Pig继承于Animal 
class Pig : public Animal
{
public:
	void climb();//上树 
};

class Turtle : public Animal
{
public:
	void swim();	
};

void Animal::eat()
{
	std::cout << "I'm eatting!" << std::endl;
}

void Animal::sleep()
{
	std::cout << "I'm sleeping!Don't disturb me!" << std::endl;
}

void Animal::drool()
{
	std::cout << "我是公的,看到母的我会流口水,我正在流口水。。。" << std::endl;
}

void Pig::climb()
{
	std::cout << "我是一只漂亮的小母猪猪,我会上树,我正在爬树。。嘘。。" << std::endl;
}

void Turtle::swim()
{
	std::cout << "我是一只小甲鱼,当母猪想抓我的时候,我就游到海里。。哈哈。。" << std::endl;
}

int main()
{
	Pig pig;
	Turtle turtle;

	pig.eat();
	turtle.eat();
	pig.climb();
	turtle.swim();
	
	return 0;
} 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值