![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++基础学习
文章平均质量分 60
沐上果子
这个作者很懒,什么都没留下…
展开
-
多重继承。
例:声明一个教室(Teacher)类和一个学生(Student)类,用多重继承的方式声明一个在职研究生(Graduate)派生类(在职教师攻读研究生)。教师类中包阔数据成员name(姓名),age(年龄),title(职称)。学生类中包括数据成员name1(姓名),sex(性别),score(成绩)。在定义派生类对象时给出初始化数据,然后输出这些数据。一、声明多重继承的方法。原创 2024-05-26 22:38:29 · 287 阅读 · 0 评论 -
多层派生时的构造函数和派生类的析构函数
先执行派生类自己的析构函数,在调用子对象的析构函数,最后再调用基类进行清理。在执行派生类的析构函数时,系统会自动调用基类的析构函数和子对象的析构函数对基类和子对象进行清理。析构函数的作用是在对象撤销之前,进行必要的清理工作,当对象被删除时,系统会自动调用析构函数。,也需要通过派生类的析构函数取调用基类的析构函数。2、再初始化Student1的数据成员age.1、先初始化基类的数据成员num和name.例:多级派生情况下派生类的构造函数。派生类是不能继承基类的析构函数。析构函数没有类型也没有参数。原创 2024-05-26 20:01:42 · 578 阅读 · 0 评论 -
多级派生时的访问属性和派生类的构造函数和析构函数
这时s1就是类对象中的内嵌对象,称为子对象,即对象中的对象。例:包含子对象的派生类的构造函数。原创 2024-05-25 21:32:44 · 279 阅读 · 1 评论 -
派生类成员的访问属性,及私有继承公用继承和保护类继承
前言:对于public(公用)、private(私有)、protected(被保护)继承方式,在我认为熟知后面我所列的表格中的关系即可。基类的公有成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。基类的公有成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。基类的公有成员和保护成员在派生类中为私有属性,私有成员仍未基类私有。基类访问属性为公有派生类跟随继承方式,基类访问为。私有不管继承方式是什么在派生类中都不可访问。被保护除了继承方式为公有保持不变为被保护的。原创 2024-05-23 20:54:24 · 753 阅读 · 1 评论 -
继承与派生,派生的声明方式和构成
注意:在c++中可重用性是通过“继承”这一机制,来实现的。继承是C++中的一个重要组成部分!原创 2024-05-23 20:36:19 · 369 阅读 · 1 评论 -
不同类型数据间的转换
2、在这个类中定义一个只有一个参数的构造函数,参数的类型是需要转换的类型,在函数体中指定转换的方法。其返回值的类型是由函数名中指定的类型名来确定的。例:在已声明一个Comple类可以在Complex类中这样定义类型转换函数。其作用是将double型的参数r转换称Complex类的对象。类型转换函数只能作为成员函数,因为转换的主体是本类的对象。类型转换函数的作用是将一个类的对象转换成另一个类型的数据。4、转换类型构造函数:(转换类型构造函数。3、在该类的作用域内用以下形式进行转换。能作为友元函数或普通函数。原创 2024-05-22 11:30:00 · 509 阅读 · 0 评论 -
重载流插入运算符和流提取运算符
C++的流插入运算符“<<”;流提取运算符“>>”是在编译系统的类库中提供的的。C++在编译系统都在其类库中提供输入流类istream和输出流类ostream。cin和cout分别是istream和ostream类的对象。原创 2024-05-17 20:26:35 · 323 阅读 · 0 评论 -
重载双目运算符与重载单目运算符
双目运算符有两个操作数(参加运算的数据),通常在运算符的左右两侧。例如:a+b,a>b等。单目运算符只有一个操作数(参与运算的数据),如!a,-b,&c,*p,--i等。原创 2024-05-17 18:30:00 · 352 阅读 · 0 评论 -
运算符重载函数作为类成员函数和友元函数
例:将运算符"+"重载为适用于复数加法,重载函数不作为成员函数,而放在类外,作为Complex类的友元函数。2、运算符重载的函数不是类成员函数(可以是一个普通函数),在类中把它声明为友元函数。1、把运算符重载的函数作为类成员函数。3、友元运算符重载函数。原创 2024-05-16 19:55:03 · 114 阅读 · 0 评论 -
运算符重载和对运算符重载的方法和重载运算符的规则
运算符重载的方法是定义一个重载运算符的函数,使指定的运算符不仅能实现原有的功能,而且能实现在函数中指定的新的功能。根据自己的需要对C++已提供的运算符进行重载,赋予它们新的含义,使之一名多用。象一起使用,其参数至少应有一个是类对象(或类对象的引用).对于类对象的运算符一般必须重载,但有两个例外,其中要两个复数相加需要用到复数相加函数。例:定义一个专门的函数来实现复数相加。下面可以用重载运算符的方法来定义。运算符"="和“&”不必用户重载。运算符重载实质上是函数的重载。对象定义的自定义类型对。原创 2024-05-16 19:35:52 · 746 阅读 · 0 评论 -
类模板的使用
template<class 虚拟类型参数>函数类型 类模板名<虚拟类型参数>::成员函数名(函数形参表){......}x:y;原创 2024-05-13 21:27:53 · 361 阅读 · 0 评论 -
允许访问私有数据的朋友
一般情况下,两个类是互不相干的,display函数是Time类中的成员函数,它本来只可以用来输出Time类对象中的数据成员hour,minute,sec。如果声明了类B是类A的友元类,不等于类A是类B的友元类,类A中的成员函数不能访问类B中的私有数据。friend函数不仅可以是一般函数(非成员函数),而且可以是另一个类中的成员函数。如果类B是类A的友元类,类C是类B的友元类,不等于类C是类A的友元类。在类A的定义体中用以下语句声明类B为其友元类。1、友元的关系是单向的而不是双向的。原创 2024-05-09 20:44:13 · 360 阅读 · 1 评论 -
不同对象实现数据共享
以关键字static开头class Boxpublic:private://把height定义为静态的数据成员int width;int length;希望同类的各对象中的数据成员的值都是一样的,就可以把它定义为静态数据成员,这样它就可以为各对象所共有,而不只属于某个对象成员,所有对象都可以引用它。静态数据成员只在内存中占一份空间。一个类中可以由一个或多个静态数据成员,所有对象都共享这些静态数据成员,都可以引用它。公用的静态数据成员可以初始化,但只能在类外进行初始化。原创 2024-05-08 23:17:49 · 397 阅读 · 1 评论 -
对象的动态建立和释放,对象的赋值和复制
在执行new运算时,如果内存量不足,无法开辟所需的内存空间,大多数C++编译系统都使new返回一个0指针值(NULL)。3、函数的返回值是类的对象。当在需要用到对象时才建立对象,在不需要用该对象时就撤销它,释放它所占内存空间以供别的数据使用,以提高内存空间的利用率。当函数参数为类的对象,在调用函数时要将实参对象完整地传递给形参,也就是需要建立一个实参的拷贝,调用复制函数。1、如果在一个函数中定义了一个对象,只有在该函数结束时,该对象才释放。1、对象的赋值只是对其中数据成员的赋值,而不对成员函数赋值。原创 2024-04-17 22:56:40 · 447 阅读 · 0 评论 -
公用数据的保护
定义:在定义对象时加关键字const,指定对象为常对象。//定义t1是常对象凡希望保证数据成员不被改变的对象,可以声明为常对象类名 const 对象名[(实参表)];const 类名 对象名[(实参表)];两者等价。(说明:如果一个对象被声明为常对象,则通过该对象只能调用它的常函数成员,而不能调用该对象的普通成员函数(除了由系统自动调用的隐式的构造函数和析构函数)。//定义常对象t1//企图调用常对象t1中的普通成员函数,非法为了防止普通成员函数会修改常对象中数据成员的值。原创 2024-04-13 21:57:58 · 649 阅读 · 0 评论 -
使用类和对象,构造函数,析构函数的使用
原因:类不是实体,而是一种抽象类型,不占用内存空间,显然无处存放数据。ps:如果一个类中所有的成员都是共用,则可以在定义对象时对成员进行初始化。原创 2024-04-01 23:30:21 · 295 阅读 · 0 评论 -
类和对象的特性
a、先声明类类型,然后再定义对象//Student是已经声明的类型//或者class 类名 对象名;b、在声明类的同时定义对象public:private:int num;char sex;//定义了两个Student类的对象//在定义Student类的同时,定义了两个Student类的对象public://公用成员函数原型声明private:int num;char sex;//对名为Student的类进行声明。原创 2024-03-24 00:37:37 · 941 阅读 · 1 评论