首页 > 编程语言 >《C++》继承

《C++》继承

时间:2023-06-17 23:31:36浏览次数:39  
标签:string 继承 C++ class Phone int public

继承

class A:public B

子类 : 继承方式 父类

class Phone
{
public:
	Phone()
	{
		frame = "框架";
		screen = "屏幕";
		battery = "电池";
	}
public:
	string frame;
	string screen;
	string battery;

};
class Brand:public Phone
{
public:
	Brand(string str)
	{
		brd = str;
	}
public:
	string brd;
};
ostream& operator<<(ostream &cout, Brand &p)
{
	cout << p.frame << endl;
	cout << p.screen<< endl;
	cout << p.battery << endl<<endl;
	cout << p.brd ;
	return cout;
}
void test()
{
	Brand  b1("水果");
	Brand  b2("为华");
	Brand  b3("大米");
	cout << b1<< endl;
	cout << "------------------------------" << endl;
	cout << b2<< endl;
	cout << "------------------------------" << endl;
	cout << b3 << endl;
}
int main()
{
	test();
	system("pause");
	return 0;
}

继承可以减少代码重复量

继承的同名成员访问

要使用.加作用域访问

class A
{
public:
	A()
	{
		m_a = 100;
	}
	int m_a;
};
class B : public A
{
public:
	B()
	{
		m_a = 200;
	}
	int m_a;
};
int main()
{
  B b;
	cout << "B.m_a= "<<b.m_a << endl;
	cout << "A.m_a= " << b.A::m_a << endl;
  system("pause");
  return 0;
}

多继承

一个儿子认多个爹

class A;
class B;
class C : public A, public B;

由于多继承使用较少只做了解

标签:string,继承,C++,class,Phone,int,public
From: https://blog.51cto.com/u_16071993/6506802

相关文章

  • C++面试八股文:聊一聊指针?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第17面:面试官:聊一聊指针?二师兄:好的。面试官:你觉得指针本质上是什么?二师兄:这要从内存地址开始说起了。如果有一块容量是1G的内存,假设它的地址是从0x00000000到0x3fffffff,每一个字节都对应一个地址。当我们声明一个变量并初始化它......
  • C++面试八股文:聊一聊指针?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第17面:面试官:聊一聊指针?二师兄:好的。面试官:你觉得指针本质上是什么?二师兄:这要从内存地址开始说起了。如果有一块容量是1G的内存,假设它的地址是从0x00000000到0x3fffffff,每一个字节都对应一个地址。当我们声明一个变量并初始化......
  • C++增删改查+MySQL
    右键项目属性 点击编辑 选择mysql安装目录的include文件夹 包含了头文件之后包含库文件 点击编辑在mysql安装路径下面选择  选择编辑之后添加看这个文件下面有没有这个输入的文件依赖 有就代表成功连接数据库 创建数据库:createdatabasestudent_mana......
  • Lua 中如何实现继承
    本文主要参考了菜鸟教程中的Lua面向对象,再加上自己学习过程的中思考,特此记录,如果文中有不对的地方,请不吝赐教。这里就不在介绍面向对象的基本思想了,主要讲一讲Lua中如何实现继承,包括单继承和多继承。1、如何定义一个类我们知道,对象由属性和方法组成。Lua中最基本的结构......
  • 面向对象-继承
    面向对象的继承是一种机制,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。继承可以使代码重用、提高代码的可扩展性和灵活性。通过继承,子类可以继承父类的非私有属性和方法,并且可以在子类中添加自己特定的属性和方法。子类可以继承父类的行为,也可以重新定......
  • GESP-C++-4
    GESPC++四级样题卷在C++中,指针变量的大小(单位:字节)是()A.2B.4C.8D.与编译器有关答案:D以下哪个选项能正确定义一个二维数组()A.inta[][];B.charb[][4];C.doublec[3][];D.boold[3][4];答案:D在C++中,以下哪种方式不能用于向函数传递参数()A.值传递B.......
  • GESP-C++-3
    GESPC++三级样题卷下列关于负数的原码、反码、补码的描述中,正确的是()A.原码和反码互为按位取反(符号位除外),补码为反码加1B.原码和反码互为按位取反(符号位除外),补码为原码加1C.反码和补码互为按位取反(符号位除外),原码为反码加1D.补码和原码互为按位取反(符号位除外),反......
  • 【C++】值初始化
    如果自己建一个类,例如:classA{public:A(){cout<<"A"<<endl;}inti;};在main主函数中如下的两行代码:A*pa1=newA;A*pa2=newA();效果一样,都是调用A的构造函数,也就是说,自己定义的类,在new该类的对象时,所谓的值初始化是没有意义的。所......
  • GESP-C++-2
    GESPC++二级样题卷人们在使用计算机时所提到的Windows通常指的是()。A.操作系统B.多人游戏C.上市公司D.家居用具答案:A万维网WWW中存储了海量的数据资源,这里用于传输控制的协议是()。A.URLB.SMTPC.HTTPD.HTML答案:C下列关于C++语言的叙述,不正确的是()......
  • C++通讯录管理系统[2023-06-17]
    C++通讯录管理系统[2023-06-17]通讯录管理系统手机通讯录中的联系人的信息既可以存储在手机中,也可以存储在手机卡中,也可以同时存储在两个位置上(每个位置上的存储容量为1000,即手机卡中或手机上最多只能存储1000个联系人)。存储在手机中的联系人的信息只包含用户名和电话号码两项信......