1.默认构造函数和默认拷贝构造函数区别。
默认构造函数:
和类同名,没有参数,没有返回值。
只能分配空间,完成不了初始化数据的任务(如果是基本数据类型例外)。(也有一说:默认构造函数会将所有数据成员初始化为0或空)。
默认拷贝构造函数:
拷贝构造函数和类同名,有一个参数,为某个同类对象的引用,没有返回值。
只能进行浅拷贝,对简单数据类型进行拷贝。如果类中有动态数组等数据类型,浅拷贝会出错。
拷贝构造函数使用于:
用对象来初始化另一对象时。
对象做为函数参数,形参和实参进行结合时。
函数返回值为对象,函数执行完返回时。
2.数据库的相关知识:
create table T_result(
stuID varchar(15) unique,
curID varchar(15) not null,
curName varchar(10),
credit int,
result double check result >=0 and result <= 100,
check(credit between 3 and 8),
foreign key(stuID) references student(stuID) on delete cascade,
primary key(stuID,curID)
)
create table T_student(
stuID varchar(15) primary key,
stuName varchar(10) not null,
age int not null,
sex varchar(2) not null,
birth datetime not null,
check ((age>0) and (age < 125)),
check sex = '男' or set = '女' default ‘男'
)
查询修了curID为10010的学生的学号stuID,姓名stuName,成绩result,按成绩降序排列
select stuID,stuName,result
from T_result,T_student
where curID = '10010' and T_result.stuID = T_student.stuID
order by result desc;