小弟初学C++请指教
请问:1.定义了类对象,是不是只有数据成员占有存储单元?函数代码是否占有存储单元?2.为什么静态数据成员初始化必须在类体外进行?为什么不能用参数初始化表对静态数据成员初始化?例如:classBox{ }或classBox{ (inti):a(i){}staticinta;}这样不行吗?3.为什么可以这样定义构造函数?classCompare_int{ (inta,intb){x=a,y=b} ,y;}构造函数名不是应该和类名一致吗?4.定义了stringname;stringnam;charnam1[];为什么可以这样赋值?name=nam;strcpy(name,nam1);5.一个类中能不能有两个类型转换函数?6.A是基类B,C,D的继承方式都是virtual,E继承B,F继承C,G继承D继承方式都不是virtual;H继承EFG,这时H中有几份A的成员?7.是不是只能在基类中定义虚函数;能不能再派生类中定义虚函数而不在基类中定义?8.在不用虚析构函数的条件下定义了指向基类对象的指针p,p=派生类;deletep;能否将派生类删除?9.请问:虚函数和纯虚函数的区别10.命名空间s1,s2中有同名函数成员,但是不用,能否同时用s1,s2?11.请问原文件和头文件的区别。什么时候要用头文件?
1.堆栈概念问题.看看c++内存管理的资料. 2.静态数据成员不属于任何类,不是类的内部成员怎么能在类内初始化呢 3.真的可以这样吗,不懂 rcpy的特性.数组名代表数组首地址. 5.真的需要两个吗?没有验证. 6.鄙视多重继承,乱,还是java好啊 7.可以,多态性 8.否.依旧是堆栈问题. 9.不知道.只知道java中有类似概念(实现接口?) 10.好像是个病句.不同名字空间可以用同样函数名,不同类中成员函数名也可以一样.不知道你问的是不是这个.实际编程中尽量避免函数名重复吧.话说回来了,函数可以重载啊....... 11.当你需要用到一些函数,类,这些东西在头文件中定义过的,就要包含.或者你在另一个源文件中要使用先前源文件内定义的类,函数等,也要包含先前源文件的头文件.
答:数据结构 清华大学版详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>