您的位置:首页 > 编程语言 > C语言/C++

C++程序设计小知识点

2020-01-15 10:01 1346 查看

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();
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
空城恋一场 发布了25 篇原创文章 · 获赞 2 · 访问量 704 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: