C++程序设计小知识点

1、this指针可指向常量型数据、可指向成员函数,不可以指向静态成员函数
this指针始终指向调用成员函数的对象

2、宏定义语句:#define BUFSIZE 100; == const int BUFSIZE 100;

3、模板类的基类和派生类都可以是模板类或非模板类

4、类A声明为类B的友元后,类A直接访问类B的公有成员

5、对数据进行降幂和检索操作,需要包含头部文件functional

6、对数据进行升幂等操作,需要包含头部文件algorithm
对数组操作升幂排序的方法:sort(a,a+len)

7、虚函数只能是类中的一个成员函数,但不能是静态成员。

8、C++编译指令:所有编译指令都是以#开始的,每条指令单独占一行,同一行不能有其他编译指令和C++语句(注释除外)

9、派生类构造函数进行初始顺序:调用基类构造函数,调用子类对象的构造函数,执行派生类的构造函数

10、析构函数进行操作顺序:调用成员对象析构函数,对派生类新增的成员对象进行清理,调用基类析构函数,对基类进行清理

11、使用虚函数不一定产生多态性,也不一定使用动态联编,前提条件:类之间的继承关系满足赋值兼容性规则,改写同名虚函数,根据赋值兼容性规则使用指针。

12、C++允许为同一个函数定义几个版本,使其有多种功能,称为函数重载

13、C++输入/输出操控符中,含义是设置转换基数为十进制是dec,含义是设置转换基数为八进制是oct,含义是设置转换基数为十六进制是hex,输出一个换行符并刷新流的是endl,设置输出数据字段宽度width是setw

14、重载的运算符的实质是保持原有的运算符个数、优先级和结合性不变。

15、流类库
ios_base :: out:打开文件进行写操作。
ios_base :: binatry :以二进制方式打开,默认为文本。
ios_base :: showpos :在正数前添加一个“+”号。

16、指向常量的指针在非常量指针声明前使用const

指向常量的指针:
const int y = 23;
const int * p = &y;

常量指针:
int x = 23;
int * const p = &x;

指向常量的常量指针:
int x = 23;
const int * const p = &x;

17、一个类可以说明多个纯虚函数,包含纯虚函数的类称为抽象类

18、const定义常量数据成员、静态常数据成员和常引用。

19、在C++程序设计中,使用new代替malloc分配动态内存。

20、聚合是指复杂对象可以由简单对象构成。

21、利用向量类模板定义一个具有10个double的向量E,元素被置为1.5,其操作语句为:vector < double >E(10,1.5);。

22、cin >> str;语句有误,使用cin进行输入时空格也作为结束符,所有str不能接收完整字符串,应改为:cin.getline(str,20);

23、构造函数名和类名一样,且在定义构造函数不能有返回类型,即使void也不行。

24、C++预处理语句:宏定义、文件包含、条件编译

25、类可以不包括任何声明。

26、二元运算符作为友元运算符重载,参数表中应有两个参数。运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符(可以作为成员函数重载,也可以作为友元函数重载)。

27、类A的复制构造函数的原型是:A::A(const A&)

28、ios类是istream类和ostream类的虚基类。

29、C++通过实现数据封装。

30、虚函数未定义,留给派生类去定义的虚函数称为纯虚函数

31、地址运算符&用来取对象存储的首地址值。

32、C++语言的标准模板库(STL)提供了与要操作的元素类型无关的算法。
泛型算法就是提供的操作与元素的类型无关。

33、C++函数分为库函数、用户自定义函数。

34、UML中实例连接反应对象之间的静态关系,消息连接描述对象之间的动态关系

35、操控符setprecision(int n)的含义是设置浮点输出精度n。

36、统计数组中包含元素的个数:n = sizeof(A)/sizeof(*A)。

37、友元函数可以直接访问对象的私有成员,可以出现于类的私有、公有部分。友元函数可以在类中声明时定义,也可以在类外定义,如果在类外定义,就不能使用friend关键字。友元关系不能传递。

38、泛型算法就是提供的操作与元素类型无关。

39、简单的成员函数不包含const、static、volatil

40、在C++程序设计中,函数返回类型可以是除数组和函数以外的任何类型。

41、如果形参是简单变量,则对应实参与形参之间的数据传递方式是单向值传递

42、类的常成员函数,无返回值:void print() const。

43、调用函数时,需要改变实参或者返回多个值,应采取传值或传引用的方式。

44、友元函数语句:friend void A :: fun();

45、字符型数据在内存中的存放形式:ASCII

46、友元函数的主要作用:提供程序的效率

47、不能作为函数重载的判断依据是:返回类型

48、C++源程序文件后缀是:.cpp 。经过编译后,生成文件的后缀是:.obj 。经过连接后,生成文件的后缀是:.exe 。

49、函数模板的真正代码是在源程序中调用函数时产生的。

50、注释分为:序言性注释和功能性注释

51、重载函数必须有不同的形参列表

52、派生类不可以继承基类中的构造函数和析构函数

53、定义一个生日类,数据成员有年、月、日。定义一个人员类,数据成员有姓名、性别、生日。人员类中的生日是生日类的对象,两个类都有构造函数和显示函数。在主函数中声明一个人员类对象,屏幕显示其数据。

#include < iostream >
using namespace std;
class birth{
	private:
		int year,month,day;
	public:
		birth(int x,int y,int z){
			year = x;
			month = y;
			day =  z;
		}
		void show(){
			cout << "生日是"<< year <<"年"<<month <<“月”<<day<< “日” << endl;
		}
};
class person{
	private:
		char * name;
		char * sex;
		birth birdy;
	public:
		person(char *p,char *q,int x,int y,int z);
		void show(){
			cout<<"姓名为"<<name<<"性别为"<< sex;
			birdy.show();
		}
};
person :: person(char *p,char *q,int x,int y,int z) : birdy(x,y,z){
	name = p;
	sex = q;
}
void main(){
	person psn("张三","男",2000,4,28);
	psn.show();
}
发布了31 篇原创文章 · 获赞 4 · 访问量 1509

猜你喜欢

转载自blog.csdn.net/qq_38471554/article/details/102532378