C++语法

您所在的位置:网站首页 初始化的作用是什么 C++语法

C++语法

2023-06-16 13:08| 来源: 网络整理| 查看: 265

概念

构造函数的作用是初始化对象,处于类内部

构造函数是一个特殊的函数,函数名和类名相同,并且没有返回值

构造函数在创建对象时自动调用一次。

构造函数必须是公有的访问属性。

如果类没有构造函数,编译器会自动生成一个什么也不干的构造函数,如果类中实现了构造函数,编译器就不会做这个工作。

类应该实现构造函数。

构造函数参数的传递

如果构造函数有参数,需要在构造对象铜锅小括号传递实参

Animal an(构造函数的实参); Animal *pa = new Animal(构造函数的实参);

构造函数的重载和参数默认值

一个类可以有多个构造函数,这些构造函数构成重载关系,在构造对象时选择合适的构造函数去调用。构造函数也可以由参数默认值,但是注意不要和重载冲突。

对象的构造过程

1.系统根据对象大小分配内存空间 2.检查成员变量的类型,如果是基本类型就什么都不做,如果是类类型调用该类的构造函数

初始化参数列表

类中有引用成员,const成员必须在调用构造函数前初始化。

在构造函数的形参列表之后,函数语句体之前,使用初始化参数列表可以在调用构造函数之前对成员进行初始化,语法如下:

class A{ public: A(...):/*初始化参数列表*/{ //... } }; //初始化参数列表 构造函数(形参列表):初始成员1(值1),初始化成员2(值2),...{ 函数语句体; } //所有的成员都可以使用初始化参数列表来初始化 练习:

为Time类提供构造函数,默认初始化为23:59:55,也可以传入时间初始化,使用初始化参数列表

作业:

实现一个mystring类,用于存储字符串(成员 ===> char *指针,int空间大小),存储使用堆内存,提供构造函数,默认构造空间大小为10的空串。

提供一个打印字符串内容的成员函数

提供一个获取空间长度的成员函数

提供一个修改字符串内容的成员函数(扩容)

/*01-字符串类的作业*/ #include #include ​ using namespace std; ​ class mystring { public: //构造函数 mystring(const char *s = NULL) { if (!s) {//没有传参数 len = 10; str = new char[len]; memset(str, 0, sizeof(len)); } else { len = strlen(s) + 1; //这里为什么要加上去 str = new char[len]; strcpy(str, s); } } ​ //打印字符串 void show() { cout if (!s) {//为空修改为长度为10的空串 delete[] str; len = 10; str = new char[len]; memset(str, 0, sizeof(len)); } else {//非空 if (len //mystring str1; mystring str1("hello"); cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3