自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C++【12】静态成员

静态成员在声明前面加了static关键字。普通成员变量,每个对象各自一份。而静态成员变量只有一份,被所有对象共享。sizeof运算符不会计算静态成员变量!class CMyclass{ int n; static int s;};//则sizeof(CMyclass)=4普通成员函数必须具体作用于某个对象,而静态成员函数并不具体作用于某个对象!静态成员不需要通过对象访问!如何访问静态成员class CRectangle{ private:

2022-03-30 11:51:45 1141

原创 C++【11】this指针

this指针作用:指向当前函数所作用的对象计算机编译C++程序时===C++程序到C程序的翻译将C++的成员函数改写为C语言的全局函数,参数个数比C++多一个 *this,即局部函数所指向的对象======C++==========class CCar{ public: int price; void SetPrice(int p);};void::SetPrice(int p){ price=p;}int main()

2022-03-30 10:55:51 211

原创 C++【10】构造函数、析构函数何时被调用?

class Demo{ int id;public: Demo(int i)//类型转换构造函数 { id=i; cout<<"id="<<id<<"construct"<<endl; } ~Demo() { cout<<"id="<<id<<"destruct"<<endl; }};Demo ...

2022-03-30 10:13:29 359

原创 C++【09】析构函数

析构函数名字与类名相同,在前面加~,没有参数和返回值,一个类最多只能有一个析构函数。析构函数对象消亡时即自动被调用。可以定义析构函数来在对象消亡前做善后工作,如释放分配的空间等。如果定义类时没写析构函数,则编译器生成缺省析构函数,缺省析构函数什么也不做。如果定义了析构函数,则编译器不生成缺省析构函数class String{ privete: char* p;//定义字符类型指针 public: String()//无参构造函数

2022-03-30 09:30:02 513

原创 C++【08】类型转换构造函数

类型转换构造函数表现形式:只有一个参数,而且不是复制构造函数的构造函数,一般就可以看作是类型转换构造函数。当需要时,编译系统会自动调用转换构造函数,建立一个无名的临时对象(或临时变量)目的:实现类型的自动转换class Complex{ public: double real,imag; Complex (int i)//类型转换构造函数 { cout<<"IntConstructor calle

2022-03-29 10:54:36 1189

原创 C++【07】复制构造函数

复制构造函数只有一个参数,即对同类对象的引用 形如 X::X(X& )或X::X(const X& ),二者选一,后者能以常量对象作为参数 如果没有定义复制构造函数,那么编译器生成默认复制构造函数。默认的复制构造函数完成复制功能。注意:复制构造函数与无参构造函数是不一样的!!无参构造函数不一定存在,复制构造函数一定存在。class Cpmplex{ private: double real,imag;};Complex c1;//调用缺省无参构

2022-03-29 10:40:22 961

原创 C++【06】构造函数

构造函数是成员函数的一种。名字与类目相同,可以有参数,不能有返回值(void也不行) 作用是对对象进行初始化,如给成员变量赋初值(但并不是执行构造函数时给对象分配内存空间。而是对象进行实例化时已经分配了内存空间。) 如果定义类时,没有写构造函数,则编译器生成一个无参构造函数。 对象生成时构造函数自动被调用。对象一旦生成就再也不能在其上执行构造函数。 一个类可以有多个构造函数,构造函数直接参数不同或参数个数不同,构造函数直接形成重载关系。class Complex{ private

2022-03-27 21:25:11 657

原创 C++【05】面向对象--类(成员变量、成员函数)

C语言(结构化程序设计)(结构化程序设计):程序=数据结构+算法;程序由全局变量以及众多相互调用的函数组成。算法以函数的形式出现,用于对数据结构的操作。结构化程序设计中,函数和其所操作的数据机构没有直观联系。函数难以复用。随程序规模增加程序逐渐难以理解,难以理解难以扩充。C++(面向对象程序设计)面向对象程序=类+类+...+类将某类卡关事物的属性归纳出来,形成一个数据结构(可以用多个变量描述事物的属性)抽象:将这类事物所能进行的行为也归纳出来,形成一个个函数,这些函数可以用来操作数

2022-03-27 20:32:12 1283

原创 C++【04】内联函数、函数重载、函数缺省参数

内联函数为了减少函数调用的开销,引入内联函数机制。编译器处理对内联函数的调用语句时,是将整个函数的代码插入到调用语句出,而不会产生调用函数的语句。在函数定义前面加“inline”关键字,即可定义内联函数inline int Max(int a,int b){ if(a>b) return a; return b;}int k,n1=5,n2=9;k=Max(n1,n2);//在此处并不会进行函数调用,而是直接将inline函数体搬过来用,即if(

2022-03-26 17:12:35 69

原创 C++【03】动态内存分配

使用new运算符实现动态内存分配 分配一个变量。==》P=new T; T是任意类型名,P是类型为T*的指针。动态分配出一片大小为sizeof(T)的内存空间,并且将该内存的首地址赋值给P。 int* pn;pn=new int;//分配sizeof(int)的内存空间给pn*pn=5;//初始化指针pn所指向的存储空间的内容为5 分配一个数组。==》P=new T[N]; T是任意类型名,P为T*的指针,N是要分配的数组元素的...

2022-03-26 16:46:04 655

原创 C++【02】

const关键字 定义常量指针。 (1)不可以通过常量指针修改其指向的内容 int n,m;const int* p=&n;//常量指针p指向n*p=5;//编译出错,通过常量指针修改其指向的内容n=4;//编译成功p=&m;//ok,常量指针的指向可以发生变化(2)不能把常量指针赋值给非常量指针,反之可以。但可以将常量指针强制类型转换后,用其对非常量指针进行赋值const int* p1;int* p2;p1=p2;//出错;不能将非常量指...

2022-03-26 15:59:31 217 1

原创 C++【01】

某个变量的引用,等价于这个变量,相当于这个变量的别名。 变量名 & 引用名=某变量名;定义引用时一定要将其初始化成引用某个变量。引用只能引用变量,不能引用常量和表达式。初始化后,它就一直引用该变量,不会再引用别的变量了。double a=4,b=5;double &r1=a;//r1引用adouble &r2=r1;//r2也引用ar2=10;cout<<a<<endl...

2022-03-26 15:34:54 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除