C++总结(2)

第七张的内容,捋一下思路和知识点。

一,继承
类的继承计就是新的类从已经存在的类哪里或得的特性。
原有的类产生新类,新类包含了原有类的特征,并且也加入了新的东西。
基类/父类:就是原有的类
派生类/子类:是指新生成的类

二,派生类的定义

class 派生类名:继承方式 基类名1,继承方式.......
{
	派生类成员声明;
};
class Derived:public  Base1,private Base2
{
public:
	Derived();
	~Derived();
};

派生类为Derived,基类为Base1 Base2
多继承就是有很多个基类
单继承就是只有一个基类
累的继承方式有公有继承,保护继承,私有继承。

三,公有继承
基类的共有成员,保护成员访问属性不变,私有成员不可以直接访问。
就是继承基类的。。。

class Point{   //point类的定义                         ,,基类
public:        //类里面的公有函数成员
    void initPoint(float x=0,float y=0){this->x=x;this->y=y;}
    void move(float offX,float offY){x+=offX;y+=offY;}
    float getX()const{return X;}
    float getY()const{return Y;}
private:      //私有数据
    float x,y;
};

class Rectangle:public Point{   //派生类的定义     ,,派生类
public:
    void initRectangle(float x,float y,float w,float h){
        initPoint(x,y);     //调用基类公有成员函数
        this->w=w;
        this->h=h;
    }
    float getH() const{return h;}
    float getW() const{return w;}
private:                              、、新增加的私有数据成员
    float w,h;
};

四,类型兼容性规则
兼容性规则是指,在需要基类对象的任何地方,可以使用公有派生类的对象来替换,替换之后派生类对象可以作为基类使用,但只能从基类继承成员。
ptr->display(); //对象指针->成员名 = 对象名.成员名

五,派生类的构造函数和析构函数
调用基类构造函数,调用顺序按照他们被继承的顺序
对于派生类新增的成员对象初始化,调用顺序按照他们在类中声明顺序

平常的构造函数时:
Clock(int newH,int newM,int newS) 直接类名然后+参数表
派生类的构造函数的形式如下:

派生类名::派生类名(参数表):基类名1(基类1初始化参数表),....,成员对象名1(成员对象初始化参数表)
{
	派生类构造函数的其他初始化操作
}

派生类构造函数名与类名相同

:: 限定要访问的成员所在类的名称
类名::成员名 //数据成员
类名::成员名(参数表) //函数成员

第三章
一,函数定义

类型说明符 函数名(形式参数表)
{
	函数体
}
double power(double x,int n)
{
	double val=1.0;
	while(n--)
		val*=x;
	return val;     //计算x的n次方
}

二,函数的调用

类型说明符 函数名(形参表)
可以作为一个表达式出现  power(5,2)   求5的2次方

fun 是函数用来调用的函数名,嵌套
unsigned 是来定义无符号数,作用为存储的数据比较大,和double,int类似
fac 是求阶乘的函数
display是打印函数
virtual是虚函数 就是实现对基类函数的覆盖
staist函数是固定值函数,将哪一个值固定不变

三,函数的参数传递
分为值传递,和,引用传递
值传递就是形参值得变化
引用传递是实参值发生改变
实参是调用函数后的变量称为实参
形参是定义时函数的变量称为形参
声明引用时必须同时对他初始化,使他指向另一个已经存在的变量
一旦一个变量被引用后,不能改指其他变量。

void swap(int a,int b){
	int t=a;
	a=b;
	b=t;
}
int main()
{
	int a=5,b=10;
	swap(x,y)
	cout<<"x="<<x<<"y="<<endl;
	return 0;
	}

输出 x=5,y=10

void swap(int &a,int &b){
	int t=a;
	a=b;
	b=t;
}
int main()
{
	int a=5,b=10;
	swap(x,y)
	cout<<"x="<<x<<"y="<<endl;
	return 0;
	}

输出 x=10,y=5;

四,带默认形参值的函数
有默认形参值的形参必须在形参列表的最后
int add(int x,int y,int z=9)

五,函数重载
就是具有相同的函数名,系统会自动判断调用哪一个函数。
重载函数的形参必须不同,个数不同,或者类型不同

六,简单指针
int *p 声明指针
cout<<*p 输出指针所指的内容
int &rf 声明一个int型的引用
*ap=&b 将b的地址赋给ap

第八章
一,多态性
是指同样的消息被不同类型接收时导致不同的行为
二,运算符重载
是对已有的运算符赋予多重含义,是同一个运算符作用于不同类型数据是导致不同的行为。

成员函数

返回类型 operator 运算符(形参表)
{
	函数体
}

非成员函数

返回类型 operator 运算符(形参表)
{
	函数体
}

三,虚函数
1,虚函数声明

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值