题目一 类的构造与析构函数
#include <iostream>
using namespace std;
class A
{
private:
static int a,b;
public:
A()
{
a++;
cout<<"A调用构造函数: "<<a<<endl;
}
Show()
{
cout<<"I am a class project!"<<endl;
}
~A()
{
b++;
cout<<"A调用析构函数: "<<b<<endl;
}
};
int A::a=0;
int A::b=0;
int main()
{
A *pa=new A[10];
delete [] pa;
cout<<endl;
A *pb=new A[10];
delete pb;
pb[1].Show();
return 0;
}
第二个只是删除第一个对象。
题目二 关于C语言中输入输出问题
1 scanf函数在碰到空格,回车或Tab键时认为输入结束,且把他们仍然留在输入缓冲中
2 getch():
所在头文件:conio.h
函数用途:从控制台读取一个字符,但不显示在屏幕上
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();会等待你按下任意键,再继续执行下面的语句;
用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。
3 getchar():
该函数声明在stdio.h头文件中,使用的时候要包含stdio.h头文件。如:
#include<stdio.h>
int getchar(void);
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.
4 gets(str): 以回车结束读取,使用'\0'结尾.回车符'\n'被舍弃没有遗留在缓冲区。可以用来输入带空格的字符串。
题目三 数组首地址为常量
a为 char* const 类型的指针常量 不能对其赋值
题目四 C++中参数入栈问题
函数参数的入栈顺序,从右到左;
栈的存储是从高地址到低地址。
题目五 运算符的优先级和短路问题
先++,在短路,最后赋值,y没有参与计算&