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,同事被移出公司群聊

测试人员有关遇到工作中特别不配合的同事的办法