![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 81
昵称格式错误
这个作者很懒,什么都没留下…
展开
-
C++面向对象编程的基本概念及四种机制及类和对象
①面向对象编程的基本概念1.对象——实体组成部分:{属性,行为}。eg.一个学生可以是一个对象,那么这个学生的属性有学号,年级,班级等;行为有选课,考试,体侧等。2.类——抽象组成部分:{属性,行为}。类是将所有对象的公有属性和行为抽象出来的。eg.学校学生类,这个类的属性有有学号,年级,班级等;行为有选课,考试,体侧等。(这是从每一个对象公有的行为与属性中抽象出来的)原创 2017-04-28 16:36:50 · 3944 阅读 · 0 评论 -
C++小型公司员工管理系统
小型公司员工管理系统 (为了避免繁琐的初始化,所有虚基类的构造函数均不带参数,,采用键盘录入的方式赋值) 子对象:教育背景类==CEducation(毕业学校,最高学历) 员工类==Staff(属性:姓名,工作编号,基本工资,奖金,当月出勤记录;教育背景(子对象))(行为:录入和显示信息,根据考勤等因素计算月薪(不同类别的员工计算的方法各不相同)【所以可以把这个原创 2017-05-01 13:03:34 · 6516 阅读 · 1 评论 -
C++中new和delete的使用.c
#includeusing namespace std;#includeint main(void){ int m = 5;//二维数组的行数 int n = 4;//二维数组的列数//关于new运算符的使用 int *p1; p1 = new int;//为int型变量分配堆内存(这个堆内存就是指针p的内存,通过指针p可以改变这个int型的变量) *p原创 2017-04-15 13:08:40 · 241 阅读 · 0 评论 -
cout输出i,&i,*i,pi,*pi,&pi
#includeusing namespace std;#includeint main(void){ int i = 10; char ch[10] = "hello"; int *pi = &i; char *pch = ch; char *pchar = "hello"; cout << i << "," << &i << endl;//输出结果为10原创 2017-04-14 23:39:21 · 484 阅读 · 0 评论 -
在程序中定义一个基类Person类,由这个基类派生出Teacher(教师)类和Leader(领导)类。采用多继承的方式由这两个类派生出Teacher_Leader类。并且满足以下要求:
a. 在公共基类中包含姓名name、年龄age、性别gender、地址address、电话phone等数据成员,以及用于信息输出的成员函数show。b. Teacher类的数据成员中还有之职称job、工资salary,Leader类的数据成员还有职务duty,却这两个类都有输出自己信息的成员函数show。c. 在类中声明成员函数,在类外实现d. 使用虚基类来避免继承中的二义性。原创 2017-04-30 20:20:05 · 12686 阅读 · 0 评论 -
继承的三种方式与派生类的构造函数和析构函数~
一:继承的三种方式形式:class 派生类名:继承方式 基类名,继承方式 基类名,继承方式 基类名·····①公有继承(public 类名)1.在派生类中基类的公有成员和受保护的成员在派生类中仍然是公有成员和受保护的成员。私有成员不可见,所以派生类的成员函数也不可以直接访问基类的私有成员,要通过基类的成员函数这个接口。2.如果派生类中某一基类同名的成员函数的实现与原创 2017-04-30 15:10:27 · 1866 阅读 · 0 评论 -
友元函数和友元类~
我们知道类内的私有成员是不能被类外访问的,但是总会有时候有这个需求去访问,那怎么办到类外可以去访问到类内的数据成员呢?这时就出现了友元函数和友元类。①友元函数:1.友元函数在类内声明,但是但不属于类的成员函数(所以在类外定义定义的时候不可以加上作用域限定符【::】)。可以在类内的任何地方声明,不受访问控制符的限制(不是类内的成员函数当然就不受限制)2.友元函数可以是普通函数,也可以是其原创 2017-04-29 17:55:00 · 672 阅读 · 0 评论 -
常引用,常对象,常成员函数,常数据成员~
①常引用形式—— const 类型 &对象名或变量名②常对象形式——const 类名 对象名1.常对象的数据成员不能被修改了,在定义的时候应该对其进行初始化2.常对象不能够调用普通成员函数——因为普通成员函数可能会修改对象的数据类型,这是不安全的。3.常对象可以调用静态成员函数,常成员函数,其实也可以调友元函数 (但是这里不对每一个具体展开了,就只是为了更加明白常对象是不原创 2017-04-29 23:01:24 · 3046 阅读 · 0 评论 -
关于对象不能直接访问私有成员的超级大误区~
先贴代码:#includeusing namespace std;class CPoint{public: CPoint(int xx, int yy) { x = xx; y = yy; } CPoint(const CPoint &p) { x = p.x; y = p.y; }private: int x, y;原创 2017-04-29 17:08:42 · 5307 阅读 · 9 评论 -
C++静态数据成员和静态成员函数~
①静态数据成员1.为什么我们需要使用静态数据成员? 我们知道每一个对象都有自己独有的数据成员的值,那怎么去实现不同对象之间可以去共享数据呢?于是就有了两种的方法:一个是全局变量,但是由于全局变量也可以被成员函数调用进而修改它,所以这样很不安全,故这种方法不可行;第二种就是静态数据成员了,可以实现数据共享,该类的所有对象都共享这块静态存储空间。 定义静态数据成员,它不专属于某一个对象原创 2017-04-29 13:28:18 · 1060 阅读 · 0 评论 -
C++对象指针和this指针~
①对象指针是与对象类型相同的,该对象在栈区分配的内存空间。它的值就是该对象的起始地址。可以使用 指针->去访问该对象的数据成员和成员函数。#ifndef _WOSHILEIA_H_#define _WOSHILEIA_H#includeusing namespace std;class CPoint{public: CPoint(){}; ~CPoint(){}原创 2017-04-29 10:40:38 · 809 阅读 · 0 评论 -
C++构造函数;
C++中构造函数的分类:(===构造函数是用来初始化数据成员的,当然不包括静态数据成员)(===无返回值)(是当对象在创建的时候系统会自动调用构造函数去初始化对象,但是如果构造函数有参数就需要在定义的时候加一个参数表)1.默认构造函数:类名();//即使自己不定义默认构造函数,系统也会自动定义一个默认构造函数,只不过此时对于数据成员的初始化是随机分配的数2.含参构造函数:类名(原创 2017-04-28 23:06:51 · 271 阅读 · 0 评论 -
C++虚基类和虚函数~
一:虚基类 我们一般说定义虚基类,是因为为了去解决二义性的问题(在菱形结构中,由于一级派生类函数重名,二级派生类对象调用同名函数时程序产生两种或多种可能,有歧义,就产生了二义性问题;或者像基类的数据成员在二级派生类对象定义的时候申请了两份内存空间,所以程序产生两种或多种可能,有歧义========所以二义性的问题说得直白点就是说程序在运行时产生两种或两种以上的可能,有歧原创 2017-05-09 01:17:25 · 1286 阅读 · 0 评论