c/c++基础,你能做对多少?

Jee44 2007-10-09 04:39:33
无聊,空想的几个题目:)
欢迎大家讨论

1. int i=2;
int j = i++*i++;
int k = ++i*++i;
int l = i++*++i;
int m = ++i*i++;
j,k,l,m的值分别是什么?
2. test.h的内容为:
static int v;
void f();
test.cpp的内容为:
#include "test.h"
void f(){v=1;}
main.cpp的内容为:
#include "test.h"
void main()
{
v = 3;
f();
printf("%d\n", v);
}
这输出结果是什么?
4. class B{public:virtual int f();};
class B1:public B{public:virtual int f();};
class B2:public B{public:virtual int f();};
class B12要同时继承自B1、B2,实例化B12时要用到B1的方法f,该如何实现?有几种实现方式?
如果f都没virutal修饰符还能实现吗?
5. class B {
virutual int f();
int f();
}
这声明有问题吗?为什么?
6. 试实现class B使得以下代码能顺利编译
void print_str(const char *s)
{
printf("print_str: %s\n",s);
}
void print_int(int i)
{
printf("print_int: %d\n",i);
}
void main()
{
B b;
print_str("abc"+b);
print_int(++b+b++);
}
...全文
403 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lptang_04 2007-10-18
  • 打赏
  • 举报
回复
正如大家疯狂崇拜COM一样
arong1234 2007-10-18
  • 打赏
  • 举报
回复
B12 b;
b.B1::f()不行?
xiantongyuan 2007-10-18
  • 打赏
  • 举报
回复
没劲,又被你忽悠进来了,还以为是什么好东西呢!
KenYuan2016 2007-10-18
  • 打赏
  • 举报
回复
2. 编译无法通过,static 文件域内可见,或者类内可见,main里面的v没定义.
妍妍 2007-10-18
  • 打赏
  • 举报
回复
这哪是什么基础啊,简直是找病啊
snailman 2007-10-18
  • 打赏
  • 举报
回复
如果遇到1/6这样的题目,我一般都会送出题人两个字:SB
xiongyl32 2007-10-18
  • 打赏
  • 举报
回复
顶,好久没有做这种题了
mengzhiyanmie 2007-10-18
  • 打赏
  • 举报
回复
你这么问的直接后果是,让我先入为主的以为你的问题没有问题,等我看了半天得到的结果是你的问题确实是问题,而最大的问题不是你的问题,而是你这个人自身的问题,不知道我这么说,你明白没?
Jee44 2007-10-09
  • 打赏
  • 举报
回复
自己顶一下
都是菜鸟问题
接受批评~~~

不知arong1234能否解答一下
4。cast B12对象到B1即可,另一种方法是显式加B1::
~~~~~~~~~~~~~~~~~~~~
的B1::怎么加
xiaoyu315 2007-10-09
  • 打赏
  • 举报
回复
呵呵,顶arong1234第6条
arong1234 2007-10-09
  • 打赏
  • 举报
回复
2楼:因为楼主水平不咋地:)
arong1234 2007-10-09
  • 打赏
  • 举报
回复
1。第一题是典型得误入歧途得,如果你做这种题目或者考别人这种题目,说明你C++基础有问题,或者被国内垃圾教育误导了
2。 答案是3,因为两个cpp文件里各有一个v,两者毫不相干,f修改得是test.cpp里得,main里得访问得是main.cpp里得
4。cast B12对象到B1即可,另一种方法是显式加B1::
不加virtual也一样,这里没有啥virutal得事情

5. 很显然有问题,函数除了virutal外没有差别,这是不允许得
6. 包含两个++的题目一律不做,因为这是垃圾
manrenmanren 2007-10-09
  • 打赏
  • 举报
回复
1
莫名其妙
写出这样的代码真是没事找事
manrenmanren 2007-10-09
  • 打赏
  • 举报
回复
2 输出为3
test.cpp中对变量v的修改不会影响main中的变量v

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧