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
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、
来源:https://www.cnblogs.com/BensonLaur/p/5234551.html