C++总结(1)

快要考试了。临时抱一抱佛脚,希望有用。

一,抽象
是对具体的东西进行概括,将里面共同的一些性质描述的过程。

int hour,minute,second
string name,string sex,int age
eat(),walk(),study()   //这是用函数的方法表示的

二,封装
就是将刚才抽象的东西和行为(功能)【行为指的是函数成员】相结合,意思就是将数据和能进行功能的代码相结合。最后形成

class clock//类名
{
public:                                      //外部接口
    void setTime(int newH,int newM,int newS) //行为,代码成员
    void setTime();
private:                                     //特定的访问权限
    int hour,minute,second;                  //属性,数据成员
};

三,继承
就是在原有的基础上可以进行更改,然后被下面进行使用。

四,多态
书上讲的是,多态性是指一段程序能够处理多种类型对象的能力。
多态性,可以包括,强制多态,重载多态,类型化参数多态,包含多态 这四种。

五,类的定义

class 类的名称
public:
	外部接口,外部接口就是别人可以从这里使用功能,却不知道里面是啥
protected:
	保护成员
private:
	私有成员

六,对象
简单的话来说 比如将钟表定义成一个类,那么每一个组成钟表的hour,minute,second,都是一个对象。

类名 对象名
Clock myclock   //先声明了一个类的一个对象
访问这个对象的成员
对象名.成员名
myclock.showtime

七,类的成员函数
成员函数指的是,在类中描述类的行为的一种函数,就像是Clock这个类里面的一个showTime()一样,实现的是类里面的一个显示时间的功能。

1.成员函数的实现
实现成员函数的时候要指明类的名称
::

返回值(viod为无返回值) 类名::函数成员名  //void Clock::showTime(内容)
{
	函数体
}

和普通的函数不一样,成员函数需要用类的名称来限制

2.成员函数调用中的目的对象
在成员函数中调用其他对象是 要用“.”

myClock.showTime()    //myClock指得是目的对象。  showTime是成员函数。

3,带默认形参值的成员函数
调用规则和普通函数相同。
调用就是 返回类型 函数名
没有返回值的时候,直接写函数名就可以调用。
有返回值的时候就是,以值的形式出现在表达式中。

4,内联函数
就是被频繁使用,且代码简单的函数。

有两种形式,第一:将函数放在类里
将showTime作为内联函数

class Clock{
public:
    void setTime(int newH,int newM,int newS);
    void showTime(){
        cout<<hour<<":"<<minute<<":"<<second<<endl;    //内联函数的第一种方式
        }
private:
    int hour,minute,second;

第二种就是将内联函数放在成员函数体现的下面,就是外面。

inline void Clock::showTime(){                         //内联函数的第二种方式
    cout<<hour<<":"<<minute<<":"<<second<<endl;
}

八,构造函数
是解决c++的初始化,就是讲对象初始化为一个特定的状态,属于类的成员函数。简单来说,就是将一个函数设一个初始化的值
构造函数的函数名和类名相同,没有返回值。

建立构造函数:

class Clock{
public:
	Clock(int newH,int newM,int newS);     //构造函数
    void setTime(int newH,int newM,int newS);
    void showTime();
private:
    int hour,minute,second;

Clock(int newH,int newM,int newS); //构造函数 就是设置了一个初始值

实现构造函数:(因为他是成员函数,属于和成员函数的调用方法一样)

Clock::Clock(int newH,int newM,int newS){
	hour=newH;
	minute=newM;
	second=newS;
	}

用构造函数时会实现下面的程序

int main(){
	Clock c(0,0,0)
	c.showTime();
	c.setTime(8,30,30);
	return 0;
	}

九,复制构造函数
功能:就是将每个数据的成员数据都复制到新建立的对象中

他的实现和构造函数一样。

class 类名
{
public:
	类名();                  //建立构造函数
	类名(类名&对象名)  //建立复制构造函数
};
类名::类名【成员函数名和类名一样】(){
	函数体                 //构造函数的实现
}
类名::类名(类名&对象名){
	函数体                //复制构造函数的实现
}

总体关系:类包含对象,对象包含成员,成员又有成员函数。

在三种情况下复制构造函数会被调用
1,
2,
3,

十,析构函数
工作是进行对象被删除前的清理工作。
类名名称前加~,没有返回值。

class Clock{
public:
	Clock();                        //构造函数
	void setTime();
	void showTime();
	~Clock(){}                       //析构函数
private:
	int hour,minute,second;
};
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值