python和C++的类

参考:
《Python编程:从入门到实践》
《C++ Primer》第五版

一、创建类

Python

class Dog()
	def _init_(self,name,age)
    	self.name = name
        self.age = age
    def sit(self)
    	print(self.name.init() + "is now sitting")
    def roll_over(self)
    	print(self.name.init() + "rolled over")

变化过程:实参(年龄、名字)→形参(name、age)→变量(self.name、self.age)

self的解释

1、self会自动传入实参,位于所有的参数的最前面(所以只用提供后面的值)

2、一个指向实例本身的引用,能让实例访问类中的属性和方法

注意

类的名称第一个字母大写,括号内为空;变量的名称的首字母一般小写

1、_init_()方法开头结尾有 _ ,可以避免发生名称冲突

2、Python自动运行init方法

Cpp

class Dog
{
	public:
		sit()
		{
			cout<<name<<"is now sitting"<<endl;//name可以换成this->name
		}
		roll over()
		{
			cout<<name<<"rolled over"<<endl;//name可以换成this->name
		}
	public:
		string name;//默认是私有权限
		int age;
}

二、创建实例

Python

# 创建实例
my_dog = Dog('whillie'6)
# 调用属性
print("My dog's name is" + my_dog.name.title() + ".") # title:让首字母变大写
print("My dog is" + str(my_dog.age) + "years old")
# 调用方法
my_dog.sit()
my_dog.roll_over()

Cpp

// 创建实例
Dog my_dog;
my_dog.name = "whillie" ;
my_dog.age = 6;
//调用属性
cout<<"My dog's name is" <<my_dog.name<<"."<<endl;
cout<<"My dog is"<<my_dog.age<<"years old"<<endl;
//调用行为
my_dog.sit();
my_dog.roll_over();

你可能感兴趣的:(code,python,c++)