栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++基础用法—冒号的用法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++基础用法—冒号的用法

C++基础用法—冒号的用法
  • 一、用法一:继承
    • 1.1用法:用在class或struct后面
    • 1.2示例代码
  • 二、用法二:赋值
    • 1.1用法:用在成员函数、构造函数后面
    • 1.2示例代码
      • 1.2.1示例代码1
      • 1.2.2示例代码2
      • 1.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)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号