C++ —— 类的基础

C++类的设计与基础       2015.9.11

1、变量和常量的命名:确定程序中的变量、常量、函数的名字都是具有描述性的名字,具有直接的意义。如numberOfStudent 比 numOfStuds好。

2、类名:当自定义一个类时,应该将类名中的每一个单词的首字母大写。例如Circle、Rectangle等都是好的类名。C++库中的类名都是小写形式。这样易于区分这两种不同的类。对象的命名可参照变量。

3、Circle circle1() 是错误的。正确如下:

  Circle circle1;

  Circle cirlce2(3);

4、circle1 = Circle(); //这句 使用无参构造函数创建一个对象,然后浅复制给circle1.    

5、匿名对象:对象只使用一次可以用匿名对象,如 circle().getArea 、circle(3).getArea.

6、C++库中的 string 类常用方法:【深入学习string:http://www.cnblogs.com/aduck/articles/2246168.html

复制代码
+string()  
+string(value:string)  
+string(value:char[])  
+string(ch:char, n:int)  

+append(s:string)  
+append(s:string, index:int, n:int):string  
+append(s[]:char, n:int):string  
+append(n:int, ch:char):string

+assign(s[]:char):string  
+assign(s:string, index:int, n:int):string    
+assign(s:string, n:int):string  
+assign(n:int ,ch:char):string

+at(index:int):char    
+length():int    
+size():int    
+capacity():int    

+clear():void    
+erase(index:int, n:int):string
+empty():bool      
+data():char*    
+c_str():char[]  

+copy(s[]:char, n:int, index:int):void  //【将当前字符串从index起复制到s】

+compare(s:string):int  
+compare(index:int, n:int, s:string):int

+substr(index:int, n:int):string
+substr(index:int):string

+find(ch:char):int     
+find(ch:char, index:int):int      
+find(s:string, index:int):int      
+find(s:string):int

+replace(index:int, n:int, s:string):string  
+swap(s:string):void  //【交换当前字符串和s的内容】

+insert(index:int, s:string):string        
+insert(index:int, n:int, ch:char):string
string 类的成员函数
复制代码

7、对象数组的创建:

Circle circleArray[10];  //无参构造
Circle circleArray[10] = {Cirlce(3),Cirlce(5),Cirlce(4)}; // 前三个直接用有参构造,后七个用无参构造
在函数栈中分配对象数组

函数传递时:void printCircleArray(Circle circleArray[] , int size);

复制代码
//分配对象数组内存:1
Circle* arr1 = new Circle[3];

delete[] arr1;

//分配对象数组内存:2
Circle* arr2[3];
  for(int i = 0; i < 3; i++)
    arr2[i] = new Circle(i+3);

for(i = 0; i < 3; i++)
    delete arr2[i];
在堆中分配对象数组
复制代码

8、构造函数初始化列表:

  ClassName(parameterList)

  : dataField1(value1),dataField2(value2)

  {//Additional statement is needed}

  当类的某个为对象成员所属类只有一个有参构造函数,编译时会因为找不到defaut构造函数而出错,此时必须使用构造函数初始化列表。

9、

posted @   BensonLaur  阅读(246)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示