C++ —— 类的基础

别来无恙 提交于 2020-03-30 05:56:03

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、

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!