C++基础用法 您所在的位置:网站首页 冒号中的冒号怎么用 C++基础用法

C++基础用法

2024-06-29 22:56| 来源: 网络整理| 查看: 265

C++基础用法—冒号的用法 一、用法一:继承1.1用法:用在class或struct后面1.2示例代码 二、用法二:赋值1.1用法:用在成员函数、构造函数后面1.2示例代码1.2.1示例代码11.2.2示例代码21.2.3示例代码3 三、用法三:位域四、用法四:遍历

一、用法一:继承 1.1用法:用在class或struct后面

class或struct后面的冒号是用来定义类的继承

1.2示例代码 // 基类 class Animal { // eat() 函数 // sleep() 函数 }; //派生类 class Dog : public Animal { // bark() 函数 };

其中,访问修饰符 access-specifier 是 public、protected 或 private 其中的一个,base-class 是之前定义过的某个类的名称。如果未使用访问修饰符 access-specifier,则默认为 private。

二、用法二:赋值 1.1用法:用在成员函数、构造函数后面

c++成员函数、构造函数后面跟“:”表示的是赋值,这是c++的特性

1.2示例代码 1.2.1示例代码1 TEST( int AA, int BB ):a(AA),b(BB) { } //相当于 TEST( int AA, int BB) { a=AA; b=BB; } 1.2.2示例代码2 class String { public: String(const String& s) :_str(new char[strlen(s._str)+1]) { strcpy(_str,s._str); } ~String() { delete [] _str; } private: char *_str; }; //相当于 class String { public: String(const String& s) { _str=new char[strlen(s._str)+1]; strcpy(_str,s._str); } ~String() { delete [] _str; } private: char *_str; }; 1.2.3示例代码3

对含有对象成员的对象进行初始化

line(int sx,int sy,int ex,int ey):startpoint(sx,sy),endpoint(ex,ey){……}

对于不含对象成员的对象,初始化时也可以套用上面的格式,例如,

rectangle():length(1),width(2){} rectangle(int x,int y):length(x),width(y){}

对父类进行初始化,例如,

TEST(int a,int b ): parents(a, b) 三、用法三:位域

该种形式出现于结构体或共用体的定义中,是位域定义的标准形式。 其使用方式为

struct name { type var_name : n; };

含义为,在结构体name汇总,成员变量var_name占用空间为n位。 n为正整数,其值必须小于type类型占用的位数。比如type如果是int,占4字节32位,那么n必须是1~31之间的整数。 对于位域类型的成员,在赋值时如果实际值超过n位所能表达的范围,那么超出部分将会被截掉,只保存低位值。如int var:4,本身只有4位的空间,如果赋值var = 20, 由于20的二进制值为10100,实际为五位,这时var实际被赋值的就是低四位,0100,即4。

四、用法四:遍历 vector& rectangles for(vector rectangle : rectangles) { //获取坐标 left = min(left, rectangle[0]); low = min(low, rectangle[1]); right = max(right, rectangle[2]); high = max(high, rectangle[3]); }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有