C++Primer Plus书之--C++类继承, 派生类和基类之间的关系(子类与父类之间的关系)

基类: 原始类, 也就是最顶层的类

派生类: 也叫做继承类, 是也就是基类的子类, 是继承自基类的类

先来看定义的一个基类, 及对应的实现:

// tabtennis0.h
#ifndef TABTENNIS_H_
#define TABTENNIS_H_
#include <string>

using std::string;

// 基类
class TableTennisPlayer
{
private:
	string firstname;
	string lastname;
	bool hasTable;
	
public:
	TableTennisPlayer(const string & fn = "none", 
		const string & ln = "none", bool ht = false);
	void Name() const;
	bool HasTable() const {return hasTable;};
	void ResetTable(bool v) {hasTable = v;};
};

#endif

第二个文件:

// tabtennis0.cpp
#include "tabtennis0.h"
#include <iostream>

// 构造函数, 使用了成员初始化列表的方法
TableTennisPlayer::TableTennisPlayer(const string & fn, const string & ln, bool ht): firstname(fn), lastname(ln), hasTable(ht)
{
	
}

void TableTennisPlayer::Name() const
{
	std::cout << lastname << ", " << firstname;
}

第三个文件: 

// usetabletennis.cpp
#include <iostream>
#include "tabtennis0.h"

int main(void)
{
	using std::cout;
	using std::endl;
	TableTennisPlayer player1("Tom", "Biz", true);
	TableTennisPlayer player2("Tara", "Boo", false);
	player1.Name();
	if(player1.HasTable())
		cout << ": has a table " << endl;
	else
		cout << ": hasn't a table" << endl;
	player2.Name();
	if(player2.HasTable())
		cout << ": has a table " << endl;
	else
		cout << ": hasn't a table" << endl;
	
	return 0;
}

程序运行结果为:

下面我们来定义一个派生类(java中的

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值