1、T是一个class,T a=b;和 T a; a=b; 有什么不同?
前者: 调用复制构造函数。
后者: 调用 重载的赋值操作符函数
2、重载T的赋值操作符时参数和返回值分别是什么?
-
void Date::operator=(const Date& dt)
- {
-
if (this != &dt)
- {
- mo = dt.mo;
- da = dt.da;
- yr = dt.yr;
- delete [] month;
- if (dt.month != NULL)
- {
-
month = new char [std::strlen(dt.month)+1];
- std::strcpy(month, dt.month);
- }
- else
- month = NULL;
-
- }
- }
3、class T1有一个char成员变量,class T2有一个char成员变量还有个void f();成员函数,在4字节对齐的情况下,sizeof(T1)和sizeof(T2)分别是多少?
4 4
4、class T
{
public:
void f1(){...}
void f2()const{...}
};
问f1和f2的区别?
f1()可以修改成员变量。
f2()不可以修改成员变量。