
C++学习
文章平均质量分 56
普通网友
这个作者很懒,什么都没留下…
展开
-
函数指针
定义形式类型名(* 指针变量名)(参数类型1,参数类型2,......)例如:Int (*pf) (int, char) 使用方法:#include <bits/stdc++.h>using namespace std;void PrintMin(int a, int b){ if(a < b) printf("%d", a); else printf("%d"...原创 2018-05-10 20:17:10 · 160 阅读 · 0 评论 -
析构函数
构造函数·成员函数的一种·名字和类名相同·可以有参数,不能有返回值·可以有多个构造函数用来初始化对象析构函数(Destructor)·成员函数的一种 ·名字和类名相同 ·在前面加 ~ ·没有参数和返回值 ·一个类最多只有一个析构函数·对象消亡时---自动被调用 ·在对象消亡前做善后工作 ·释放分配的空间等·定义类时没写析...原创 2018-08-14 19:30:04 · 295 阅读 · 0 评论 -
静态成员变量和静态成员函数
·静态成员:在说明前面加了static关键字的成员class CRectangle{ private: int w, h; static int nTotalArea;//静态成员变量 static int nTotalNumber; public: CRectangle(int w_, int h_); ~CRectangle(); static void Pr...原创 2018-08-14 21:47:45 · 294 阅读 · 0 评论 -
成员对象和封闭类
·成员对象:一个类的成员变量是另一个类的对象·包含成员对象的类叫封闭类(Enclosing)class CTyre{//轮胎类 private: int radius;//半径 int width;//宽度 public: CTyre(int r, int w):radius(r), width(w){}//初试化列表};class CEngine{//引擎类};...原创 2018-08-15 14:10:34 · 344 阅读 · 0 评论 -
友元类
友元函数·一个类的友元函数可以访问该类的私有成员class CCar;//提前声明CCar类,以便后面CDriver类使用class CDriver{ public: void ModifyCar(CCar *pCar);//改装汽车};class CCar{ private: int price; friend int MostExpensiveCar(CCar c...原创 2018-08-15 14:32:47 · 4132 阅读 · 0 评论 -
this指针
c++程序到c程序的翻译class CCar{ public: int price; void SetPrice(int p);};void CCar::SetPrice(int p){ price = p;}int main(){ CCar car; car.SetPrice(20000); return 0;}struct CCar{ int price...原创 2018-08-15 15:12:54 · 154 阅读 · 0 评论 -
常量对象、常量成员函数和常引用
常量对象·如果不希望某个对象的值被改变,则定义该对象的时候可以在前面加const关键字class Demo{ private: int value; public: void SetValue(){}};const Demo Obj;//常量对象 常量成员函数·在类的成员函数说明后面可以加const关键字,则该成员函数成为常量成员函数·常量成员函数执行期间不...原创 2018-08-16 10:53:32 · 590 阅读 · 0 评论 -
运算符重载
·c++预定义表示对数据的运算 ·+ - * / % ^ & ~ ! | = << >> != ...... ·只能用于基本的数据类型 ·整型 实型 字符型 逻辑型......·c++提供了数据抽象的手段 用户自己定义数据类型---类 ·调用类的成员函数---操作它的对象·类的成员函数---操作对象时,很不方便 ...原创 2018-08-16 11:09:30 · 225 阅读 · 0 评论 -
赋值运算符重载
赋值运算符'='重载·赋值运算符两边的类型可以不匹配 ·把一个int类型变量赋值给一个complex对象 ·把一个char*类型的字符串赋值给一个字符串对象·需要重载赋值运算符'='·赋值运算符'='只能重载为成员函数·编写一个长度可变的字符串类String ·包含一个char*类型的成员变量---指向动态分配的存储空间 ·该存储空间用于存放'\0'结尾的...原创 2018-08-23 10:16:04 · 770 阅读 · 0 评论 -
类型转换构造函数
·目的: ·实现类型的自动转换·特点: ·只有一个参数 ·不是复制构造函数·编译系统会自动调用---转换构造函数---建立一个 临时对象/临时变量class Complex{public: double real, imag; Complex(int i){ //类型转换构造函数 cout << "IntConstructor called...原创 2018-08-14 18:48:11 · 784 阅读 · 0 评论 -
复制构造函数
复制构造函数(copy Constructor)·只有一个参数,即对同类对象的引用。·形如X::X(X&)或X::X(const X &),二者选一后者能以常量对象作为参数·如果没有定义复制构造函数,那么编译器生成默认复制构造函数。默认的复制构造函数完成复制功能。class Complex{ private: double real,imag;};Complex c1;/...原创 2018-05-11 09:42:42 · 251 阅读 · 0 评论 -
位运算
按位与"&"将参与运算的两操作数各对应的二进制位进行与操作,只有对应的两个进位均为1时,结果对应二进制位才为1,否则为0例如:表达式"21 & 18"的计算结果是16,(即二进制数10000),因为:21 0001 010118 0001 001016 0001 0000通常用来将某变量中的某些位清0且同时保留其他为不变,也可以用来获取某变量中的某一位。例如,如果需...原创 2018-05-10 20:21:23 · 202 阅读 · 0 评论 -
引用
下面的写法定义了一个引用,并将其初始化为引用某个变量。 类型名 & 引用名 = 某变量名int n = 4;int & r = n;//r引用了n,r的类型是int &·某个变量的引用,等价于这个变量,相当于该变量的一个别名int n = 7;int & r = n;r = 4;cout<<r;//输出4cout<<n;//输出4...原创 2018-05-10 20:31:10 · 230 阅读 · 0 评论 -
const关键字
·定义常量const int MAX_VAL = 23;const double Pi = 3.14;const char * SCHOOL_NAME = "Hangzhou Normal University"·定义常量指针 不可通过常量指针修改其指向的内容 int n, m; const int *p = &n; *p = 5;//编译错误 n = 4;//ok ...原创 2018-05-10 20:34:14 · 150 阅读 · 0 评论 -
内联函数和函数重载
内联函数·函数调用是有时间开销的。如果函数本身只有几条语句,执行非常快,而且函数被反复执行很多次,相比之下调用函数所产生的这个开销就会显得比较大。·为了减少函数调用的开销,引入了内联函数机制。编译器处理对内联函数的调用语句时,是将整个函数的代码插入到调用语句处,而不会产生调用函数的语句。·在函数定义前面加" inline "关键字,即可定义内联函数inline int Max(int a, int...原创 2018-05-10 20:43:10 · 524 阅读 · 0 评论 -
函数缺省参数
函数的缺省参数·c++中,定义函数的时候可以让最右边的连续若干个参数有缺省值,那么调用函数的时候,若相应位置不写参数,参数就是缺省值。void func(int x1, int x2 = 2, int x3 = 3){}func(10);//等效于func(10, 2, 3)func(10, 8);//等效于func(10, 2, 3)func(10, ,8);//不行,只能最右边的连续若...原创 2018-05-10 20:47:55 · 1582 阅读 · 0 评论 -
从客观事物中抽象出类的例子
写一个程序,输入矩形的宽和高,输出面积和周长·矩形的属性-宽和高 ·两个变量,分别代表宽和高·对矩形的操作 ·设置宽和高 ·计算面积 ·计算周长class Rectangle{ public: int w, h; void Init(int w_, int h_){ w = w_; h = h_; }...原创 2018-05-11 09:23:02 · 2230 阅读 · 0 评论 -
类成员的可访问范围
·关键字--类成员可被访问的范围 ·private:指定私有成员,只能在成员函数内被访问 ·public:指定公有成员,可以在任何地方被访问 ·protected:指定保护成员·三种关键字出现的次数和先后次序都没有限制·定义一个类class className{ private: 私有属性和函数 public: 公有属性和函数 protected: 保护属性和函数};·缺省为私...原创 2018-05-11 09:27:48 · 1110 阅读 · 0 评论 -
构造函数
·成员函数的一种 ·名字与类名相同,可以有参数,不能有返回值(void也不行) ·作用是对对象进行初始化,如给成员变量赋初值 ·如果定义类时没写构造函数,则编译器生成一个默认的无参数的构造函数 ·默认构造函数无参数,不做任何操作·如果定义了构造函数,则编译器不生成默认的无参数的构造函数·对象生成时构造函数自动被调用。对象一旦生成,就再也不能在其上执行构造函数·一个类可以有多个构造函数为什么需要构...原创 2018-05-11 09:40:41 · 231 阅读 · 0 评论 -
运算符重载为友元函数
·通常,将运算符重载为类的成员函数·重载为友元函数的情况 ·成员函数不能满足使用要求 ·普通函数,又不能访问类的私有成员class Complex{ double real, imag; public: Complex(double r, double i):real(r), imag(i){}; Complex operator+(double r);};...原创 2019-02-17 20:10:50 · 2727 阅读 · 0 评论