C++的 warning C4250
来源:互联网 发布:音量放大器软件 编辑:程序博客网 时间:2024/04/30 20:26
现在的编程词基本上都是那么拗口又晦涩的词,令人费解又讨厌。
警告:warning C4250,是我用特殊实验用的类专门报出来的,报的警报是中文:通过域控制继承
这个“域控制继承”怎么让人这么恶心,这么别扭,“域控制继承”?在网上找了半天解释,虽然解释的都是那么个意思,但看起来实在是别扭。最后找到MSDN的解释:
Error Message
'class1' : inherits 'class2::member' via dominance看到这个,是不是还是那么恶心?
Two or more members have the same name. The one in class2 is inherited because it is a base class for the other classes that contained this member.
这个解释就浅显易懂了。
白话文的解释就是:师祖创了一套太极剑一套太极拳,大徒弟学的太极剑,二徒弟学的太极拳。刚入门的徒孙,要学太极剑找大徒弟,要学太极拳找二徒弟。
喜欢的话,可以#pragma warning(disable:4250)
有时候看书,英文原版要比国内的翻译通俗易懂的多。
看看实验用的代码:
class CVirtualBase
{
public:
CVirtualBase(void){};
virtual ~CVirtualBase(void){};
public:
virtual void print(){std::cout<<"VirtualBase<<std::endl";};
virtual void print1(){std::cout<<"VirtualBase::print1()<<std::endl";};
virtual void print2(){std::cout<<"VirtualBase::print2()<<std::endl";};
};
class CVirtualDerive1 :public virtual CVirtualBase
{
public:
CVirtualDerive1(void){};
virtual ~CVirtualDerive1(void){};
virtual void print(){std::cout<<"CVirtualDerive1"<<std::endl;};
virtual void print1(){std::cout<<"CVirtualDerive1::Print1"<<std::endl;};
// virtual void print2();
};
class CVirtualDerive2 :
public virtual CVirtualBase
{
public:
CVirtualDerive2(void){};
virtual ~CVirtualDerive2(void){};
virtual void print(){std::cout<<"CVirtualDerive2"<<std::endl;};
virtual void print2(){std::cout<<"CVirtualDerive2::Print2"<<std::endl;};
// virtual void print1(){};
};
class CDeriveChild :
public CVirtualDerive1, public CVirtualDerive2
{
public:
CDeriveChild(void){};
virtual ~CDeriveChild(void){};
virtual void print(){std::cout<<"CDeriveChild"<<std::endl;};
};
int _tmain(int argc, _TCHAR* argv[])
{
CVirtualBase *pDerChild = new CDeriveChild();
pDerChild->print();
pDerChild->print1();
pDerChild->print2();
system("pause");
return 0;
}
- C++的 warning C4250
- C++的 warning C4250
- warning C4250: “MyClassD”: 通过域控制继承“MyClassC::MyClassC::MyMethod”
- [C++] 编译时的warning
- 必须重视C语言的编译warning
- C语言常见的三种Warning
- C++: #pragma warning的一些语法
- c warning 解决方案
- C Compiler Warning Abstract
- c warning 解决方案
- [C++]Warning C4150小议
- keil C 出现WARNING:MULTIPLE CALL TO SEGMENT的解析
- C系列: 关于implicit declaration of function的warning
- 16种C语言编译警告(Warning)类型的解决方法
- 在C++builder中远离恼人的W8123 warning警告
- C语言相关Warning。。。解决方案
- warning C4096 和warning C4995的解决办法
- #pragma warning 的用法
- ad test
- Eclipse does not recognize added Android library projects 添加库项目失败的解决办法
- [c#]获取数据库中所有表的表名
- 扣压机,扣管机,压管机,锁管机价格,厂家直销
- SqlServer_在SQL Server 2005修改存储过程、执行;
- C++的 warning C4250
- AssertMacros: queueEntry, file: /SourceCache/IOKitUser_Sim/IOKitUser-920.1.11/hid.subproj/IOHIDEven
- C#-StringBuilder类的使用---ShinePans
- 学习数字图像处理经验谈
- 扣压机,扣管机,压管机,锁管机价格,厂家直销
- 从初学android到现在每天收入50块,收入还在慢慢增加 ,android开发者赚钱
- iOS开发常用国外网站清单
- JdbcTemplate详解
- .net开发office插件,ribbon刷新