栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++类的继承

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++类的继承

类的继承相关问题
  • 首先讨论一下类继承后的构造函数
  • 自己写的play.h
#pragma once
#include 
using std::string;
class player
{
private:
	string firstname;
	string lastname;
	bool hastable;
public:
	player(const string & fn = "none", const string & ln = "name", bool bt = false);
	void show();
};
class replayer : public player
{
private:
	int rating;
public:
	replayer(int r = 0, const string & fn = "none", const string & ln = "name", bool bt = false);

};
  • player.cpp
#include "player.h"
#include 
#include 
using std::string;
player::player(const string & fn, const string & ln, bool bt) : firstname(fn), lastname(ln),hastable(bt){}
void player::show()
{
	std::cout << firstname << lastname << hastable < 
  • 主函数
#include 
#include "player.h"
int main()
{
    std::cout << "Hello World!n";
	player hua;
	player jin("jin", "zhe", true);
	replayer jinzheyu(2, "jin", "zh ", true);
	jin.show();
	hua.show();
	jinzheyu.show();
}
  • 继承类在写构造函数的时候需要调用基类的构造函数,否则,将自动调用基类的默认构造函数,player.cpp注释处即为传参给基类的构造函数并调用的过程,注释后,将自动调用默认构造函数,此时fn,ln,bt无法传给基类,只能生成一个默认出来的对象,取消注释后可以正常传参并生成想要的对象。

  • 取消注释后的结果

  • 调用默认构造函数的结果

  • virtual 关键字使得基类的成员函数可以被重载,子类中相应函数调用基类的函数时需要加上作用域解析运算符,即基类名::函数名,以此调用其函数。

  • 继承的时候最好写成虚析构函数,使得每个对象可以正确的调用其对应的虚构函数,否则在用指针与引用时引发问题。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/512745.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号