c++学习整理

一。命名空间

 1.格式:

namespace 命名空间名称

{

//命名空间声明的内容

}

2.命名空间的名称.

遵循变量的命名规则,避免不同程序员都使用简短的名称,推出了命名空间的别名

语法格式:namespace 别名=命名空间名。

eg:可以将geography information system取一个好记的别名: namespace GIS=geography information system

3.命名空间和类的关系。

  使用命名空间时,根据需要把相关类放到同一个命名空间中,实现类的分类管理。

#include<iostream>

using namespace std;

namespace A

{

      class test

     {

      public:

       void show() { cout<<"调用命名空间A中的函数"<<endl; }

      };

}

namespace B

{

class test

      {

      public:

       void show(){cout<<"调用命名空间B的函数"<<endl;}

       };

}

int main()

{

  A::test c1;

  c1.show();

  B::test c2;

  c2:show();

return 0;

}

4.iostream和iostream.h的区别

#include <iostream>标准输入输出流,不可直接输出引用,可std::cout<<,此时一般在程序开始用using namespace std

#Include <iostream.h>非标准输入输出流,可直接输出引用cout<<.

有“h”就是非标准的,无“h”是c标准函数,需要用到命名空间。还有一部分不完全是有h和无h的差别 如:math和math.h。

5.关于命名空间更详细的内容:http://qiusuoge.com/9811.html

二 。函数

1.形参默认值

结合参数给予默认值:bool passde(int nScore=60){}

注意:默认参数必须在末尾:bool max(int a ,int b=0){}

2.传值大的数据时,用指针传入函数

eg:int Salary(int* pSalary)

{

pSalary[n]=temp;

++n;

}

3.内联函数

调用函数时,需要保存现场,对参数进行赋值,恢复现场,等等。如果函数多次被调用,本身比较短小,可很快执行完毕,会导致系统花在函数调用上的时间远远大于函数执行的时间,内联函数解决这个问题,将函数代码内联到函数调用的地方,将代码整段插入当前函数的调用的位置,提高程序性能。

声明时,在函数前加inline,调用正常调用。

4.重载函数。

同一函数名表示多个意义

int max (int a ,int b );

double max(double a,double b);

5.构造函数和析构函数

它们分别来处理对象的创建和销毁

用参数对属性进行初始化。

Teacher(string strName)

{

name=strName;

}

初始化列表

Teacher(string strName)

        :name(strName){}

6.拷贝构造函数

一种特殊的构造函数,形参是本类的对象的引用,作用是使用一个已经存在的对象(由拷贝构造函数的参数指定),去初始化同类对象的一个新对象。

普通构造函数在对象创建时被调用,复制构造函数在一下三种情况被调用。(复制构造函数又称拷贝构造函数)

1),当用类的一个对象去初始化该类的另一个对象。

Point a(1.2);

Point b(a);//对象a初始化对象b,复制构造函数被调用

Pont c=a;//对象a初始化对象c,复制构造函数被调用

2),函数的形参是类的对象,调用函数时,形参和实参相结合。

void f(Point p){}

int  main{

Point a(1.2);

f(a);

return 0;

}

只用把对象用值传递时,才会调用拷贝构造函数,如果传递引用,则不会,所以,传递比较大的对象时,传递引用会比传值引用的效率高很多。

3),函数的返回值是类的对象,函数执行完成返回调用者时。

Point g(){

Point a(1.2);

return a;

}

int main(){

Point b;

b=g();

return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值