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

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

this是一个特殊的指针

class Human {

   char fishc;

   Human(char fishc);

}

Human::Human(char fishc){

   fishc = fishc;

}

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

扫描二维码关注公众号,回复: 3923904 查看本文章

用到它了 - 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;
} 

猜你喜欢

转载自blog.csdn.net/xiaodingqq/article/details/83649909