分类: C/C++
2009-05-22 20:09:33
sqrt是开方
pow(x,n)是开N次方
/////////////////////////
*构造函数没有返回类型:
*对象数组(p266);
*一个类的数据成员可以是另一个类的数据对象,如果一个类A的数据成成员是类B,那么创建A的对象时自动调用B的构造函数。
?strcpy,strncpy函数的用法?cin怎么把一个字符串输入到一个指针里去?
*构造函数用于构造对象,用它给函数赋值时错误的P274.
?重载构造函数能共用一个析构函数吗?应该是
*系统定义的构造函数初始对象值是随机的。
*两种编程:1,面向对象应用程序设计 2,类库设计
*默认参数值必须放在所有参数的后边
*对象数组只调用默认构造函数 不调用其他构造函数
*strcat(*a,*b)是把b的字符串接到a的字符串的尾部。
*子函数return一个值,主函数必须cout才能显示出来。
*公共的静态成员能在类外使用,保护和私有的静态成员只能在类内使用。
?分量运算符-> (ps->pnext)和取数据成员运算符
(.)的区别 不能用ps.pnext吗?
?两个字符串之间不能用==来比较差别吗 比
if(pname==ps->next)
*静态成员函数和非静态成员函数的主要区别是静态成员函数没有this指针。
*友元声明的位置可以在protected也可以在public里 定义在类的外边 和类的起他成员函数的定义放在一起。一个类的成员函数可以是另一个类的友元。
*整个类可以是另一个类的友元,该友元称为友类。友类的每个成员函数都可以访问另一个类中的保护或私有数据成员。如friend class student.
*在构造一个子类时,完成其基类部分的构造由基类的构造函数去做,c++类的继承机制满意地提供了这种支持。Ch16_1说明了构造和析构的顺序。
*类以另一个类对象作数据成员,称为组合。
*有默认构造值的 默认值必须放在后边 像后边这样定义是不对的graduate(char* pname="well",advisor& ss) 因为前面的参数有默认值,后面的参数没默认值。如果把这两参数参数换个位置,则能编译过去。(ch16_1)
*继承和组合 都是拿来主义 但使用的方式不同 P354.
*枚举类型 在类的构造时上面写: enum studenttype{student,graduatestudent}
然后在类的数据成员定义中写:studenttype type 在使用时用大括号中的值对type赋值。?p359 代码中const是什么意思?
*mn文件中 alina.h为什得include
之后std才能用呢? *虚函数覆盖,参数类型得相同。
1.只有类成员函数才能使虚函数,普通成员函数不能定义成虚函数。
2.静态成员函数不能是虚函数
3内联函数不能是虚函数
4构造函数不能是虚函数
5析构函数可以是虚函数
*抽象类是作为基类为其他类服务的,一个抽象类不能有实例对象,即不能由该类抽象来制造一个对象。
*所有的纯虚函数被重载之前,抽象类的子类也一直保持抽象状态。
*不能创建一个抽象类的对象,但是可以声明一个抽象类的指针或引用。
*虚拟继承:在bed和sofe继承furniture中加上virtual关键字,这相当于说,“如果还没有furniture类,则加入一个furniture拷贝,否则就用有的那一个”。虚拟继承的虚拟和虚拟函数的虚拟没有任何关系。
*私有继承:全变私有 保护继承:公有和保护变保护,私有变私有。 公共继承:正常继承。
*一个私有的或保护的派生类不是子类,因为非公共的派生类不能做基类能做的所有的事。
*typedef int INT,intrger;定义两个同义词。
*c++中只有10进制有正负之分,而8进制和16进制无正负之分,只能表示无符号整数。
*123e5或123E5表示123×105.
while((strlen(gets(str)))!=0)
{
fputs(str,fp);
fputs("\n",fp);
}
把gets 的字符串写入str串
/////////////////////////////////////////
局部变量可以屏蔽全局变量、嵌套层次中的内层变量可以屏蔽外层变量,
从而被屏蔽的全局或外层变量在其倍屏蔽的区域内是不可见的。
///////////////
char *str[100];
sizeof(str)=400;
char (*)str[100];
sizeof(str)=4;
char str[100];
sizeof(str)=100;
char str[]="hello";
sizeof(str)=6;
char *str="hello";
sizeof(str)=4;//计算的是一个指针的大小,在32位机器上,sizeof(int*)和
sizeof(char*) 都为4,在我的64位机器上就为8 ,说明指针的大小和机器字长有关。
////////////////
拷贝构造函数没有返回类型,和构造函数一样。
////////////////////////