C++中类声明的数据成员初始化限制
需积分: 43 81 浏览量
更新于2024-07-14
收藏 1.37MB PPT 举报
在C++教程中,关于类声明中数据成员赋初值的规则是明确的。通常,类的声明部分不应包含数据成员的初始化,因为C++规定这些初始值应在对象定义时提供。这意味着在以下示例中:
```cpp
class abc {
private:
char a = 'q'; // 错误,不能在类声明中初始化
int b = 33; // 错误,同上
public:
... // 其他成员声明
};
```
数据成员`a`和`b`的初始化应在创建abc类的对象时完成,如:
```cpp
abc obj; // 对象定义
obj.a = 'q'; // 正确,此时可以给数据成员赋值
obj.b = 33; // 正确,同理
```
C++的类是一种用户自定义的数据类型,它封装了数据和与之相关的操作(即成员函数)。类的定义包括数据成员(如结构体中的变量)和成员函数(方法),如结构体`complex`所示:
```cpp
struct complex {
double real; // 数据成员,复数的实部
double imag; // 数据成员,复数的虚部
// 成员函数
void init(double r, double i) { real = r; imag = i; }
double absComplex() { double t; ... } // 计算复数绝对值
};
// 示例使用
struct complex A;
A.init(3.0, 4.5); // 在对象初始化时给成员赋值
double abs = A.absComplex(); // 调用成员函数
```
类的设计允许我们创建具有特定行为的对象,通过构造函数(3.2构造函数与析构函数)在对象创建时初始化它们,并在需要时通过成员函数执行特定任务。此外,还介绍了其他概念,如对象数组与对象指针(3.3)、向函数传递对象(3.4)、静态成员(3.5)、友元(3.6)、类对象作为成员(3.7)以及常量类型(3.8)。
在C++中,结构体(C++扩充了C语言的结构)不仅是数据容器,还能包含函数,这使得程序设计更加灵活和功能强大。理解并遵循类和数据成员初始化的规则对于编写高效且符合规范的C++代码至关重要。
永不放弃yes
- 粉丝: 917
- 资源: 2万+
最新资源
- CStrAinBP:2 个单元格串的重叠元素。 比 INTERSECT/ISMEMBER/SETDIFF 快 10-20 倍。-matlab开发
- SecKill-System:一个秒杀抢购项目:分别提供MySQL乐观锁,Redis分布锁和ZooKeeper分布锁共3种方案
- rt-thread-code-stm32f103-yf-ufun.rar,yf-ufun STM32F103 是优凡
- Gra_w_zgadywanie_liczb_2
- shuaishuai-book
- KaanBOT:KaanBOT是一款适度有趣的不和谐机器人
- ARFlower:AR花
- 建筑公司项目部施工管理制度汇编(流程图、岗位职责)
- 实现reload按钮效果源码下载
- PDFBookmark-1.0.2-final.zip
- 行间拖拽插件
- SFACC:阿西西圣法兰西斯天主教会加拉迪玛瓦网站
- CAD图块素材之电视背景墙、玄观、书柜详图
- API:GitHub上Viva Wallet开源项目的索引
- chokidar-cli:快速的跨平台cli实用程序,可监视文件系统的更改
- book_project