C++
发布日期:2022-02-12 16:07:03 浏览次数:7 分类:技术文章

本文共 2702 字,大约阅读时间需要 9 分钟。

数据类型:

Type

Meaning

Minimum Size

 

C++: Arithmetic Types

bool

boolean

NA

char

character

8 bits

wchar_t

wide character

16 bits

short

short integer

16 bits

int

integer

16 bits

long

long integer

32 bits

float

single-precision floating-point

6 significant digits

double

double-precision floating-point

10 significant digits

long double

extended-precision floating-point

10 significant digits

数组:

string:

被string声明的是对象.

跟C差别较大,尽量使用string.

 结构:

结构数组:

枚举:

指针:

 

 

 

 

 

 

 

 

1.虚函数:基类中定义virtual函数,被两个类分别继承和重写,在通过基类指针调用,不同的实体指针出不同的结果.

(1) 虚函数在重新定义时参数的个数和类型必须和基类中的虚函数完全匹配,这

一点和函数重载完全不同。

(2) 只有通过基类指针才能实现虚函数的多态性,若虚函数的调用是普通方式来

进行的,则不能实现其多态性。

(3) 如果不使用new来创建相应的派生类对象指针,也可使用通过&运算符来获取

对象的地址。

(4) 虚函数必须是类的一个成员函数,不能是友元函数,也不能是静态的成员函

数。

           (5) 可把析构函数定义为虚函数,但不能将构造函数定义为虚函数。 

C++的虚函数就相当于java的普通函数,被继承后可以根据实例调用对应的函数。

       C++                 Java

  虚函数 -------- 普通函数
  纯虚函数 -------- 抽象函数
  抽象类 -------- 抽象类

基类成员函数的二义性:相当于近亲(继承统一先类)结婚,后代的某个先类基因("父母"都有),无法确定是从哪方继承过来。

可以通过::直接指定希望从哪方继承而来.

2.纯虚函数:

class CTriangle:public CShape

{

public:

CTriangle(float h, float w)

{ H = h; W = w; }

float area() // 在派生类定义纯虚函数的具体实现代码

{ return (float)(H * W * 0.5); }

private:

float H, W;

};

运算符重载

<函数类型><类名>::operator <重载的运算符>(<形参表>)

{ } // 函数体

CComplex CComplex::operator + (CComplex &c)

CCounter CCounter::operator ++()

CCounter CComplex::operator ++(int);

转换函数:

CMoney::operator string ()

 

Vector:

string str[]={"Alex","John","Robert"};

    // empty vector object
    vector<int> v1;
    // creates vector with 10 empty elements
    vector<int> v2(10);
    // creates vector with 10 elements,
    // and assign value 0 for each
    vector<int> v3(10,0);
    // creates vector and assigns
    // values from string array
    vector<string> v4(str+0,str+3);
    vector<string>::iterator sIt = v4.begin();
    while ( sIt != v4.end() )
        cout << *sIt++ << " ";
    cout << endl;

Deque:

string str[]={"Alex","John","Robert"};

    
    // empty deque object
    deque<int> d1;
    
    // creates deque with 10 empty elements
    deque<int> d2(10);
    
    // creates deque with 10 elements,
    // and assign value 0 for each
    deque<int> d3(10,0);
    
    // creates deque and assigns
    // values from string array
    deque<string> d4(str+0,str+3);
    deque<string>::iterator sIt = d4.begin();
    while ( sIt != d4.end() )
        cout << *sIt++ << " ";
    cout << endl;

List:

    int ary[]={1,2,3,4,5};

    list<int> l;

    // assign to l the contains of ary

    l.assign(ary,ary+5);

    copy(l.begin(),l.end(),

            ostream_iterator<int>(cout," "));
    cout << endl;

    // replace l for 3 copies of 100

    l.assign(3,100);

    copy(l.begin(),l.end(),

            ostream_iterator<int>(cout," "));
    cout << endl;

typedef Member<string,double> M;

    list<M> l;

    l.push_back(M("Robert",60000));

    l.push_back(M("Linda",75000));

    list<M>::iterator It = l.begin();

    cout << "Entire list:" << endl;

    while ( It != l.end() )

        (It++)->print();
    cout << endl;

Set:

Multiset:

Map:

 

 

转载地址:https://blog.csdn.net/wellsmith/article/details/96647179 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Ubuntu18 安装 docker
下一篇:编译tungstenfabric

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年02月28日 18时50分36秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

php红包平均分配,红包平均分配算法 2019-04-21
linux磁盘的命令是,linux磁盘相关的命令 2019-04-21
linux 停用用户,linux – 如何禁用用户的网络访问? 2019-04-21
linux服务器 缓存,Linux服务器内存使用分析及内存缓存 2019-04-21
linux查进程内存问题,关于linux 查看服务进程内存,cpu,内存占用的一些基础命令... 2019-04-21
linux英文包安装教程视频,Linux源码包安装过程讲解 2019-04-21
linux 关闭rsync服务器,linux下配置rsync服务器和实时同步 2019-04-21
linux初始化TCP服务失败,深入Linux系统追踪TCP初始化 2019-04-21
arch Linux添加源,在Arch Linux系统中使用Archlinuxcn源(清华源)的方法 2019-04-21
私人linux远程连接,Linux远程连接 - osc_5g1gl9wp的个人空间 - OSCHINA - 中文开源技术交流社区... 2019-04-21
windows文件迁移到linux,从Windows到Linux迁移之文件服务器(Samba和AD完美结合) 2019-04-21
linux下vi编辑器的命令大全,linux下VI编辑器命令大全(超级完整版) 2019-04-21
linux结构体数组的定义数组,task_struct结构体中的run_list和array域 2019-04-21
C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法 2019-04-21
16F877A和24C02通信汇编语言,PIC16f877A读写24c02程序 2019-04-21
用c语言编写小于n的所有素数,关于求N以内素数的一点小问题(N小于一亿) 2019-04-21
华为100万部鸿蒙,2019年Q4发布 华为100万部鸿蒙OS手机已开测 2019-04-21
android+大富翁+局域网,【图片】大富翁6局域网(LAN)多人联机教程(求精)_大富翁吧_百度贴吧... 2019-04-21
html5 video视频资源保护,HTML5 视频播放 <video> 2019-04-21
html表头跟随滚动,JS实现table表格固定表头且表头随横向滚动而滚动_心善_前端开发者... 2019-04-21