#include "stdafx.h"
#include <iostream.h>
class c1
{
public:
c1(int a)
{
cc11=a;
};
private:
int cc11;
};class c2:public c1
{
public:
c2(int a):c1(a){};};int main(int argc, char* argv[])
{
c1 c1obj(0),c11obj(1);
c2 c2obj(2),c22obj(3);
return 0;
}
在VC++中私有的变量应该不被继承的
那C2类的构造函数还有什么意义啊?删了有提示错误.
#include <iostream.h>
class c1
{
public:
c1(int a)
{
cc11=a;
};
private:
int cc11;
};class c2:public c1
{
public:
c2(int a):c1(a){};};int main(int argc, char* argv[])
{
c1 c1obj(0),c11obj(1);
c2 c2obj(2),c22obj(3);
return 0;
}
在VC++中私有的变量应该不被继承的
那C2类的构造函数还有什么意义啊?删了有提示错误.
解决方案 »
- MFC下同一个工程中怎么实现对话框和对话框2上的控件通信啊
- 关于XP接收数据包的问题
- C++ 在弹出的子对话框中嵌入view,实现可滚动显示
- 一个类访问另一个类中成员的问题
- 麻烦大家说下有哪几种自绘控件方法,3Q!
- 我的一个功能代码块中,对两个表进行操作,当我不添加TRY...CATCH时,对两个表操作正常,但添加之后,却老报错,“IDispatch error #5276
- ADO访问ORACLE数据库
- 问个简单的线程问题,大家别见笑 :)!!!
- 我想做一个网络通讯的小程序,哪怕只能在两台机子之间传送一个数据也可以
- 如何象WORD一样,用VC编程实现图片的拖动,排版等
- 如何实现CHtmlView的打印预览和打印
- 装载图片失败----为什么呢?
c1(int a)
{
cc11=a;
};
这样的构造函数 , 只能这样
#include "stdafx.h"
#include <iostream.h>
class c1
{
public:
int cc1;
c1(int a)
{
cc11=a;
cc1=cc11;
};
private:
int cc11;
};class c2:public c1
{
public:
int cc2;
c2(int a):c1(a)
{
};
};int main(int argc, char* argv[])
{
c1 c1obj(0);
c2 c2obj(1);
cout<<c1obj.cc1<<c2obj.cc1<<endl;
c1obj=(c1)c2obj;
cout<<c1obj.cc1<<endl;
return 0;
}
程序输出了:
01
1
我认为基类的私有变量其实也是被复制到C2实例的内存空间中了,只是无法使用而已,大家同意吗?
什么叫"只是私有的继承后还还是私有"
在C2中根本无法访问CC11啊.