c_cpp 脑子犯二,今天被同事耻笑了。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 脑子犯二,今天被同事耻笑了。相关的知识,希望对你有一定的参考价值。
###解释一下吧
今天突发奇想(有时候突发奇想会害死人),C++中通过子类对象能否拿到父类对象中的成员呢?我想基本的继承是允许这么干的吧。但凡是应该写程序试一试才知道,于是就写了上面那个程序。
(犯二的开始:)通过输出结果可知,是拿不到的。莫非子类对象有自己独立的内存地址?想的越来越远。
结果请同事来释疑,同事定睛一看,擦,你这是啥呀,分明是两个对象,有何意义?
额,有何意义!!!
他还让我在看看《C++ Primer》,我顿时感觉我学C++都学狗屁了。。。
#include <iostream>
class Father
{
public:
Father():i_(2){}
~Father(){}
int GetIValue(){return i_;}
void SetIValue(int i){i_ = i;}
protected:
int i_;
};
class Son : public Father
{
public:
Son():Father(){}
~Son(){}
};
int main()
{
Father *father = new Father;
std::cout << "Father:" << father->GetIValue() << std::endl;
Son *son = new Son;
std::cout << "Son:" << son->GetIValue() << std::endl;
// change father's value
father->SetIValue(5);
std::cout << "Father(changed):" << father->GetIValue() << std::endl;
std::cout << "Son(changed):" << son->GetIValue() << std::endl;
return 0;
}
以上是关于c_cpp 脑子犯二,今天被同事耻笑了。的主要内容,如果未能解决你的问题,请参考以下文章
如何在Excel中少犯二(I)
js 中利用url传递参数的编码问题
靠!我被项目经理和同事嘲笑了,因为不会远程debug调试...
分享一本Java并发编程的免费好书
不会Docker和K8S,同事被移出公司群聊
测试人员有关遇到工作中特别不配合的同事的办法