- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 模板(上)——(函数模板)
模板概述C++有两种模板机制:函数模板和类模板。模板中的参数也称为类属参数。模板、模板类、对象和模板函数之间的关系:函数模板函数模板是对一组函数的描述,他不是一个真实的函数,编译系统并不产生任何执行代码。当编译系统在程序中发现有与函数模板中相匹配的函数调用时,便产生一个重载函数,该重载函数的函数体与函数模板的函数体相同,该重载函数就是模板函数。声明模板函数声明函数模板格式:temp...
2019-09-30 23:15:41 225
原创 运算符重载(看完这篇彻底掌握重载问题)
运算符重载概述什么是运算符重载运算符重载:用同一个运算符完成不同的运算功能。C++运算符重载的相关规定如下:1.不能改变运算符的优先级。2.不能改变运算符的结合性。3.默认参数不能和重载的运算符一起使用,也就是说,在设计运算符重载成员函数时不能使用默认函数。4.不能改变运算符的操作数的个数。5.不能创建新的运算符,只有已有运算符可以被重载6.运算符作用于C++内部提供的数据类型...
2019-09-27 21:05:40 9616 1
原创 友元
友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以友元不宜多用。友元函数声明友元函数友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在类的内部声明,声明时需要加friend关键字。格式如下:class Myclass{ public: …… friend void add(int n ); ……}友元...
2019-09-15 16:54:16 253 1
原创 一个满足下边要求的CDate类
练习:编写一个函数,设计一个满足下边要求的CDate类,用数据进行调试并输出结果//(1)用日/月/年格式输出日期。//(2)可进行日期加一天的操作//(3)设置日期。#include<iostream>using namespace std;class CDate{private: int m_nDay; int m_nMonth; int m_nYear;p...
2019-09-13 17:22:15 1155 2
原创 析构函数
什么是析构函数当对象结束其生命周期,如对象所在的函数已调用完毕时,系统会自动执行析构函数。在C++语言中:析构函数名应与类名相同,只是在函数名前面加一个位取反符 ~ ,例如 ~ stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数,它也不进行任何操作。所以许多简单的类...
2019-09-13 15:45:54 471
原创 C++内存管理(new与delete)
1.new与deletenew 与delete运算符一起使用,以达到直接进行动态内存分配和释放的目的。运算符new返回指定类型的一个指针,如果分配失败(如没有足够的内存空间),则返回0。例:double *p;p = new double;系统自动根据double类型的空间开辟一个内存单位,并将地址放在p中。运算符delete的操作是释放new请求到的内容。需要注意以下几点:(...
2019-09-12 21:04:11 333 1
原创 指针和数组的关系
在C++中,数组与指针密切相关,几乎可以互相使用。数组名可以认为是常量指针,它指向存放数组第一个元素的内存地址。指针可以完成任何涉及数组下标的操作。实际上,数组下标表示法在编译期间将转化为指针表示法,所以用指针方式来书写数组下标表达式可以节省编译时间。例如,对于下面的数组定义:char name[10]="Smith";name等于&name[0]。如果再定义一个字符指针:ch...
2019-09-08 21:54:57 219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人